item()
区别一:
在pytorch训练时,一般用到.item()。比如loss.item()。我们可以做个简单测试代码看看它的
区别:
import torch x = torch.randn(2, 2) print(x) print(x[1,1]) print(x[1,1].item())
运行结果:
tensor([[-2.0743, 0.1675], [ 0.7016, -0.6779]]) tensor(-0.6779) -0.6779483556747437
可以看出是.item()显示精度更高,item()返回的是一个浮点型数据,所以我们在求loss或者accuracy时,一般使用item(),而不是直接取它对应的元素x[1,1]。
区别二:
item()的作用是取出单元素张量的元素值并返回该值,保持该元素类型不变。
items()
items()的作用是把字典中的每对key和value组成一个元组,并把这些元祖放在列表中返回。
dict = { 1:'a', 2:'b', 3:'c' } print(dict.items())
运行结果:
dict_items([(1, 'a'), (2, 'b'), (3, 'c')])