输入:
minibatch = torch.Tensor(5, 2, 3, 5)
m = nn.View(-1):setNumInputDims(1)
m:forward(minibatch)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输出:
30*5的tensor
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输入:
minibatch = torch.Tensor(5, 2, 3, 5)
m = nn.View(-1):setNumInputDims(2)
m:forward(minibatch)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
输出:
10*15的tensor
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码解读:
view(-1)的含义就是,给定一个tensor你知道你想要多少列,但是不知道想要多少行的时候,就用view(-1)。
setNumInputDims(n)的意思就是,把前面几个 维度乘到一起,作为tensor的行数,其余几个维度的成乘积作为tensor的列数。所以上式中的setNumInputDims(2)表示的就是把(5,2,3,5)中的 前两维作为新tensor的行数,所以setNumInputDims(2)获得的新tensor大小为10*15。setNumInputDims(1)获得的就是5*30的tensor。setNumInputDims(3)获得的就是30*5的tensor。