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


Python mxnet.gluon.nn.LayerNorm用法及代碼示例


用法:

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

參數

  • axis(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’) - 伽馬權重的初始化器。
  • in_channels(int, default 0) - 輸入數據中的通道數(特征圖)。如果不指定,初始化將推遲到第一次forward被稱為和in_channels將從輸入數據的形狀推斷。

基礎:mxnet.gluon.block.HybridBlock

將層歸一化應用於 n 維輸入數組。此運算符采用 n 維輸入數組並使用給定軸對輸入進行歸一化:

輸入:
  • data: 任意形狀的輸入張量。
輸出:
  • out:輸出具有相同形狀的張量data.

參考

層標準化

例子

>>> # Input of shape (2, 5)
>>> x = mx.nd.array([[1, 2, 3, 4, 5], [1, 1, 2, 2, 2]])
>>> # Layer normalization is calculated with the above formula
>>> layer = LayerNorm()
>>> layer.initialize(ctx=mx.cpu(0))
>>> layer(x)
[[-1.41421    -0.707105    0.          0.707105    1.41421   ]
 [-1.2247195  -1.2247195   0.81647956  0.81647956  0.81647956]]
<NDArray 2x5 @cpu(0)>

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.gluon.nn.LayerNorm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。