fst*_*tab 3 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]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我意识到我甚至没有设置输入维度,除了通道的数量(可能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]
Run Code Online (Sandbox Code Playgroud)