在pytorch训练时,一般用到.item()。比如loss.item()。我们可以做个简单测试代码看看它的区别。
import torch
x = torch.randn(2, 2)
print(x)
print(x[1,1])
print(x[1,1].item())
结果为:
tensor([[ 0.4702, 0.5145],
[-0.0682, -1.4450]])
tensor(-1.4450)
-1.445029854774475
可以看出是显示精度的区别,item()返回的是一个浮点型数据,所以我们在求loss或者accuracy时,一般使用item(),而不是直接取它对应的元素x[1,1]。
原文链接:https://blog.csdn.net/weixin_45092662/article/details/113768531