当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch GroupNorm用法及代码示例


本文简要介绍python语言中 torch.nn.GroupNorm 的用法。

用法:

class torch.nn.GroupNorm(num_groups, num_channels, eps=1e-05, affine=True, device=None, dtype=None)

参数

  • num_groups(int) -将通道分成的组数

  • num_channels(int) -输入中预期的通道数

  • eps-加到分母上的值,以保证数值稳定性。默认值:1e-5

  • affine-一个布尔值,当设置为 True 时,此模块具有可学习的每通道仿射参数,初始化为 1(用于权重)和 0(用于偏差)。默认值:True

如论文 Group Normalization 中所述,对小批量输入应用组规范化

输入通道分为num_groups 组,每个组包含num_channels / num_groups 通道。分别计算每组的平均值和标准差。 是大小为 num_channels 的可学习的每通道仿射变换参数向量,如果 affineTrue 。标准差是通过偏置估计器计算的,相当于 torch.var(input, unbiased=False)

该层使用从训练和评估模式中的输入数据计算的统计数据。

形状:
  • 输入: 其中

  • 输出: (与输入的形状相同)

例子:

>>> input = torch.randn(20, 6, 10, 10)
>>> # Separate 6 channels into 3 groups
>>> m = nn.GroupNorm(3, 6)
>>> # Separate 6 channels into 6 groups (equivalent with InstanceNorm)
>>> m = nn.GroupNorm(6, 6)
>>> # Put all 6 channels into a single group (equivalent with LayerNorm)
>>> m = nn.GroupNorm(1, 6)
>>> # Activating the module
>>> output = m(input)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.nn.GroupNorm。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。