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


Python mxnet.gluon.nn.GroupNorm用法及代码示例


用法:

class mxnet.gluon.nn.GroupNorm(num_groups=1, epsilon=1e-05, center=True, scale=True, beta_initializer='zeros', gamma_initializer='ones', prefix=None, params=None)

参数

  • num_groups(int, default 1) - 将通道轴分成的组数。
  • epsilon(float, default 1e-5) - 添加到方差中的小浮点数以避免除以零。
  • center(bool, default True) - 如果为真,则添加偏移量beta归一化张量。如果为假,beta被忽略。
  • scale(bool, default True) - 如果为真,则乘以gamma.如果为假,gamma未使用。
  • beta_initializer(字符串或Initializer, 默认 ‘zeros’) - beta 权重的初始化器。
  • gamma_initializer(字符串或Initializer, 默认 ‘ones’) - 伽马权重的初始化器。

基础:mxnet.gluon.block.HybridBlock

将组归一化应用于 n 维输入数组。此运算符采用 n 维输入数组,其中最左边的 2 轴分别为 batchchannel

输入:
  • data: 形状为 (N, C, ...) 的输入张量。
输出:
  • out:输出具有相同形状的张量data.

参考

组归一化

例子

>>> # Input of shape (2, 3, 4)
>>> x = mx.nd.array([[[ 0,  1,  2,  3],
                      [ 4,  5,  6,  7],
                      [ 8,  9, 10, 11]],
                     [[12, 13, 14, 15],
                      [16, 17, 18, 19],
                      [20, 21, 22, 23]]])
>>> # Group normalization is calculated with the above formula
>>> layer = GroupNorm()
>>> layer.initialize(ctx=mx.cpu(0))
>>> layer(x)
[[[-1.5932543 -1.3035717 -1.0138891 -0.7242065]
  [-0.4345239 -0.1448413  0.1448413  0.4345239]
  [ 0.7242065  1.0138891  1.3035717  1.5932543]]
 [[-1.5932543 -1.3035717 -1.0138891 -0.7242065]
  [-0.4345239 -0.1448413  0.1448413  0.4345239]
  [ 0.7242065  1.0138891  1.3035717  1.5932543]]]
<NDArray 2x3x4 @cpu(0)>

相关用法


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