我想知道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
不同。
这是否意味着它们是不同的操作?
最佳答案
是的,它们是不同的,因为 torch
没有 dilation
参数(有关膨胀说明,请参阅 here ,基本上内核在每个内核元素宽度之间都有“空格”和高度方面,这就是在图像上滑动的内容)。
除了dilation
之外,两个方程都是相同的(在pytorch
版本中将dilation
设置为1并且它是相等的)。
如果您想在 torch
中使用dilation
,有一个名为 nn.SpatialDilatedConvolution
的单独类。 .
关于machine-learning - `Torch`(即 `nn.SpatialConvolution` )中的卷积层和 `Pytorch`(即 `torch.nn.Conv2d` )中的卷积层有什么不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59127541/