item是将tensor类型数据转换为标量
sum有三种形式 torch.sum(a), torch.sum(a, axis = 0), torch.sum(a, axis = 1)
- torch.sum(a):
计算a所有元素求和
- torch.sum(a, axis=0):
a是二维矩阵,固定住列,扫描每行求和, 结果就是每一列元素相加
- torch.sum(a, axis = 1)
a是二维矩阵,固定住行,按列求和,结果就是每一行元素相加
深度学习里面用得最多就是第一种和第三种, 行一般表示样本个数,列一般表示模型预测输出的概率分布, 对于一个10分类任务,输出维度为10,对应有10列,如果将10个分类从0~9进行编码, python对列索引标号从0开始,那么第一列索引为0代表第0这个分类,第10列索引为9,代表第9这个类别。
item这个方法主要是将单个tensor类型数值转换为标量,方便求和。
这两个方法可以具体使用可以看下下面代码