x.view()就是对tensor进行reshape
python
import torch
v1 = torch.range(1, 4)
v2 = v1.view(2, 2)
print(v2)
v3 = v2.view(4,-1)
print(v3)
python
tensor([[1., 2.],
[3., 4.]])
tensor([[1.],
[2.],
[3.],
[4.]])
在函数的参数中经常可以看到-1例如x.view(-1, 4)
这里-1表示一个不确定的数,就是你如果不确定你想要reshape成几行,但是你很肯定要reshape成4列,那不确定的地方就可以写成-1
例如一个长度的16向量x,
x.view(-1, 4)等价于x.view(4, 4)
x.view(-1, 2)等价于x.view(8,2)