machine-learning - `Torch`(即 `nn.SpatialConvolution` )中的卷积层和 `Pytorch`(即 `torch.nn.Conv2d` )中的卷积层有什么不同

标签 machine-learning conv-neural-network pytorch torch

我想知道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 不同。

output shape of Conv2d in Pytorch

这是否意味着它们是不同的操作?

最佳答案

是的,它们是不同的,因为 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/

相关文章:

python - 为什么激活值 (Softmax) 的预测会给出错误的结果?

python - 在 Gridsearchcv 中评分

R:决策树 `[.data.frame` 中的错误(框架、预测变量):选择了未定义的列

python - 在keras中使用predict_generator()时如何获取关联的图像名称

machine-learning - YOLOv3注释应该在调整大小之前完成吗?

python - 我的模型的训练/验证准确性表现得很奇怪

pytorch - 如何打乱数据集的标签?

machine-learning - 使用 Keras 的 CIFAR-10 数据集

pytorch - 在 FastAI 中对数据应用图像增强变换时出错

python - Pytorch 相当于 Numpy 的 logical_and 和 kin?