经常可以看到调用torch.view(-1,28*28)之类的调用,那么这里的-1是什么意思呢,经过查看文档view()得到了一下结果:

  • view()返回的数据和传入的tensor一样,只是形状不同
  • -1在这里的意思是让电脑帮我们计算,比如下面的例子,总长度是20,我们不想自己算\(20/5=4\),就可以在不想算的位置放上-1,电脑就会自己计算对应的数字,这个在实际搭建网络的时候是很好用的
  • 还要注意view()返回的tensor和传入的tensor共享内存,意思就是修改其中一个,数据都会变
import torch
a = torch.arange(0,20)		#此时a的shape是(1,20)
a.view(4,5).shape		#输出为(4,5)
a.view(-1,5).shape		#输出为(4,5)
a.view(4,-1).shape		#输出为(4,5)

版权声明:本文为MartinLwx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/MartinLwx/p/10543604.html