Python中item()和items()的用处

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]。

区别二:

Python中item()和items()的用处_第1张图片

item()的作用是取出单元素张量的元素值并返回该值,保持该元素类型不变。

items()

items()的作用是把字典中的每对key和value组成一个元组,并把这些元祖放在列表中返回。

dict = {
    1:'a',
    2:'b',
    3:'c'
}
print(dict.items())

运行结果:

dict_items([(1, 'a'), (2, 'b'), (3, 'c')])

你可能感兴趣的:(深度学习疑点总结,python,pytorch,深度学习)