简介
最近看到代码中多次使用到item,于是开始学习,但是搜item出来的大多全是items()遍历。于是终于找到一篇关于python中.item()的用法
官方手册参考
item理解:
- 取出张量具体位置的元素元素值,并且返回的是该位置元素值的高精度值,保持原元素类型不变;必须指定位置
- 即:原张量元素为整形,则返回整形,原张量元素为浮点型则返回浮点型,etc.
使用
- 求loss,以及accuracy rate的时候一般用item(),因为获取的值精度高
举例
代码
import torch
x = torch.randn(2,2)
print(x) # 【2,2】,张量
print(x[1,1]) # 直接获取右下角值,张量
print(x[1,1].item()) # 获取右下角高精度值,数值
print(x[:,1].item) # 貌似有问题,也就是获取某个值的时候必须指定具体位置(行和列都表明)
print(x) # 【2,2】
print(x[:, 0]) # 【1,2】,获取第一列铺成一维张量
print(x[: