torch 中的setNumInputDims()函数

输入:

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。

你可能感兴趣的:(torch)