【d2l】【困难代码】【1】 9.7 损失函数

发布时间 2023-07-27 23:11:04作者: zz子木zz

问题描述

image
神の代码秀我一脸,来搞懂一下

问题解决

1. torch.tensor的bool索引

作用:只保留为true或为1位置处的元素
参考:https://deepinout.com/pytorch/pytorch-questions/117_pytorch_can_i_slice_tensors_with_logical_indexing_or_lists_of_indices.html

image

2. torch.tensor中None的使用

作用:*增加维度,有几个None就是增加几个维度
参考:https://blog.csdn.net/flyingluohaipeng/article/details/125093683

new_x1 = x[None,:,:]
new_x2 = x[:,None,:]
new_x3 = x[:,:,None] 
print('-------new_x1--------')
print(new_x1) 
print(new_x1.shape)
print('-------new_x2--------')
print(new_x2)
print(new_x2.shape)
print('-------new_x3--------')
print(new_x3)
print(new_x3.shape)

image

3. torch中逻辑运算的广播机制

image

4. ~是python的按位取反运算符

作用:按位取反
参考:https://www.runoob.com/python/python-operators.html
image

5. torch.tensor中的切片是视图而不是副本,所以对tensor的切片赋值会导致原始值的改变

image