我想知道Torch
(即nn.SpatialConvolution
)中的卷积层和Pytorch
(即torch.nn.Conv2d
)中的卷积层之间的区别
在Torch
的文档中,我发现了SpatialConvolution
的输出形状
它说:“如果输入图像是3D张量nInputPlane x height x width
,则输出图像大小将为nOutputPlane x oheight x owidth
,其中
owidth = floor((width + 2*padW - kW) / dW + 1)
oheight = floor((height + 2*padH - kH) / dH + 1)
”
与Pytorch文档中的torch.nn.Conv2d
不同。
这是否意味着它们是不同的操作?
答案 0 :(得分:1)
是的,它们是不同的,因为torch
没有dilation
参数(有关膨胀的解释,请参见here,基本上,内核在每个内核元素的宽度和高度之间都有“空格”,这就是在图片上滑动的内容。
除了dilation
以外,两个方程都是相同的(在dilation
的版本中将pytorch
设置为一个,并且相等)。
如果您想在dilation
中使用torch
,则有一个单独的类称为nn.SpatialDilatedConvolution
。