Lua torch nn:如何获得输出的尺寸(特征图)?
在卷积模块中,许多参数可能会改变输入的维数。有没有办法得到卷积模的输出的维数,或者任何模的输出的维数 我试着查看Lua torch nn:如何获得输出的尺寸(特征图)?,lua,neural-network,deep-learning,torch,conv-neural-network,Lua,Neural Network,Deep Learning,Torch,Conv Neural Network,在卷积模块中,许多参数可能会改变输入的维数。有没有办法得到卷积模的输出的维数,或者任何模的输出的维数 我试着查看SpatialConvolution中公开的方法,但没有人建议给我这些信息 此外,输出张量似乎具有以下维度: conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2) conv1.id = 'conv1' print(conv1.output:size()) [torch.LongStorage of size 0] 有什么想法
SpatialConvolution
中公开的方法,但没有人建议给我这些信息
此外,输出张量似乎具有以下维度:
conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2)
conv1.id = 'conv1'
print(conv1.output:size())
[torch.LongStorage of size 0]
有什么想法吗
我意识到我甚至没有设置输入维度,除了通道数(即
3x32x32
)。如何设置?为什么不是强制性的?输出大小取决于输入大小。您可以尝试以下方法:
th> require 'nngraph'
th> conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2)()
th> model = nn.gModule({conv1},{conv1})
th> x = torch.rand(3,20,20)
th> y = model:forward(x)
th> y:size()
96
20
20
[torch.LongStorage of size 3]
没有这样一种方法存在。您必须向前调用函数以调整输出的大小,然后获取形状。