一、view函数相当于reshape
在torch里面,view函数相当于numpy的reshape,来看几个例子:
import torcha = torch.arange(1, 17) # a's shape is (16,)
tensor([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
使用
view函数a.view(4, 4) # output below
tensor([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],[ 9, 10, 11, 12],[13, 14, 15, 16]])
再次使用
view函数调整a.view(2, 2, 4)
tensor([[[ 1, 2, 3, 4],
[ 5, 6, 7, 8]],[[ 9, 10, 11, 12],[13, 14, 15, 16]]])
二、参数-1的意思
在函数的参数中经常可以看到-1例如x.view(-1, 4)
这里-1表示一个不确定的数,就是你如果不确定你想要reshape成几行,但是你很肯定要reshape成4列,那不确定的地方就可以写成-1
例如一个长度的16向量x,
x.view(-1, 4)等价于x.view(4, 4)-
三、参考原文
参考链接:https://blog.csdn.net/scut_salmon/article/details/82391320
