前言
今天想使用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