[ 参数不一致 ]torch.nn.Conv2d

torch.nn.Conv2d

torch.nn.Conv2d(in_channels,
                out_channels,
                kernel_size,
                stride=1,
                padding=0,
                dilation=1,
                groups=1,
                bias=True,
                padding_mode='zeros',
                device=None,
                dtype=None)

paddle.nn.Conv2D

paddle.nn.Conv2D(in_channels,
                 out_channels,
                 kernel_size,
                 stride=1,
                 padding=0,
                 dilation=1,
                 groups=1,
                 padding_mode='zeros',
                 weight_attr=None,
                 bias_attr=None,
                 data_format='NCHW')

其中 Pytorch 的 bias 与 Paddle 的 bias_attr 用法不一致,具体如下:

参数映射

| PyTorch | PaddlePaddle | 备注 | | ————- | ———— | —————————————————— | | in_channels | in_channels | 表示输入 Tensor 通道数。 | | out_channels | out_channels | 表示输出 Tensor 通道数。 | | kernel_size | kernel_size | 表示卷积核大小。 | | stride | stride | 表示卷积核步长。 | | padding | padding | 表示填充大小。 | | dilation | dilation | 表示空洞大小。 | | groups | groups | 表示分组数。 | | bias | - | 是否在输出中添加可学习的 bias。 | | padding_mode | padding_mode | 表示填充模式。 | | device | - | 指定 Tensor 的设备,一般对网络训练结果影响不大,可直接删除。 | | dtype | - | 指定权重参数属性的对象,一般对网络训练结果影响不大,可直接删除。 | | - | weight_attr | Tensor 的所需数据类型,PyTorch 无此参数,Paddle 保持默认即可。 | | - | bias_attr | Tensor 的所需数据类型,当bias_attr设置为 bool 类型与 PyTorch 的作用一致。 | | - | data_format | Tensor 的所需数据类型,PyTorch 无此参数,Paddle 保持默认即可。 |

转写示例

bias: 是否在输出中添加可学习的 bias

# Pytorch 写法
torch.nn.Conv2D(16, 33, 3, bias=True)

# Paddle 写法
paddle.nn.Conv2D(16, 33, 3)
# Pytorch 写法
torch.nn.Conv2D(16, 33, 3, bias=False)

# Paddle 写法
paddle.nn.Conv2D(16, 33, 3, bias_attr=False)