[ 参数不一致 ]torch.nn.GroupNorm¶
torch.nn.GroupNorm¶
torch.nn.GroupNorm(num_groups,
num_channels,
eps=1e-05,
affine=True,
device=True,
dtype=None)
paddle.nn.GroupNorm¶
paddle.nn.GroupNorm(num_groups,
num_channels,
epsilon=1e-05,
weight_attr=None,
bias_attr=None,
data_format='NCHW',
name=None)
两者功能一致但参数不一致,torch 参数更多,具体如下:
参数差异¶
| PyTorch | PaddlePaddle | 备注 | | ————- | ———— | —————————————————— | | eps | epsilon | 为了数值稳定加在分母上的值。 | | affine | - | 是否进行仿射变换,PaddlePaddle 无此参数。 | | device | - | 设备类型,PaddlePaddle 无此参数。 | | dtype | - | 参数类型,PaddlePaddle 无此参数。 | | - | weight_attr | 指定权重参数属性的对象。如果为 False, 则表示每个通道的伸缩固定为 1,不可改变。默认值为 None,表示使用默认的权重参数属性。 | | - | bias_attr | 指定偏置参数属性的对象。如果为 False, 则表示每一个通道的偏移固定为 0,不可改变。默认值为 None,表示使用默认的偏置参数属性。 | | - | data_format | 指定输入数据格式,Pytorch 无此参数,Paddle 保持默认即可。 |
转写示例¶
affine:是否进行仿射变换¶
# 当 PyTorch 的 affine 为`False`,表示 weight 和 bias 不进行更新,torch 写法
torch.nn.GroupNorm(num_groups=5, num_channels=50, eps=1e-05, affine=False)
# paddle 写法
paddle.nn.GroupNorm(num_groups=5, num_channels=50, epsilon=1e-05, weight_attr=False, bias_attr=False)
# 当 PyTorch 的 affine 为`True`,torch 写法
torch.nn.GroupNorm(num_groups=5, num_channels=50, eps=1e-05, affine=True)
# paddle 写法
paddle.nn.GroupNorm(num_groups=5, num_channels=50, epsilon=1e-05)