當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。