Pytorch里经常会见到tensor.view( a, b ,c ......),a, b, c等等都是函数内的参数,可以理解为reshape功能,重构张量的维度。
比如:
a = torch.Tensor(2, 3)
print(a)
# tensor([[0.0000, 0.0000, 0.0000],
# [0.0000, 0.0000, 0.0000]])
b = a.view(3, 2)
print(b)
# tensor([[0.0000, 0.0000],
# [0.0000, 0.0000],
# [0.0000, 0.0000]])
这里有特殊的地方就是参数为-1的时候,比如
print(a.view(1,-1))
# tensor([[0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000]])
-1表示该维度的大小由估计得到,第一个维度为1,则tensor为一行,列数则估计出来,在该例子中为6。
如果只有一个参数,即view(-1),则会将tensor里面的所有维度数据转化成一维的,并且按先后顺序排列。