【pytorch】pytorch中data与item区别

前言

今天想使用loss来画图,看到大佬们的代码里是使用了item()来转换变量,之前没注意这种细节,来学习一下。

实验

import torch
x = torch.randn(2,3)
print('[1]  ',x)
print('[2]  ',x.data)
print('[3]  ',x.data[1,1])
print('[4]  ',x.data[1,1].item())#与x[1,1].item()相同
print('[5]  ',x.data.item())

显示的结果为:

由此可以看出,item()的作用是取出一个tensor中的某个元素值,不对向量型的tensor起作用。

至于data,则是一个深拷贝的作用,具体可以参考文献【1】。

参考文献:

【1】https://blog.csdn.net/yghjkliikk/article/details/109587660

【2】https://leeyegy.blog.csdn.net/article/details/104971419?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control

原文地址:https://www.cnblogs.com/lhdb/p/14037886.html