快捷方式

RMSNorm

class torch.nn.modules.normalization.RMSNorm(normalized_shape, eps=None, elementwise_affine=True, device=None, dtype=None)[source][source]

對輸入 mini-batch 應用均方根層歸一化。

此層實現了論文 Root Mean Square Layer Normalization 中描述的操作

yi=xiRMS(x)γi,whereRMS(x)=ϵ+1ni=1nxi2y_i = \frac{x_i}{\mathrm{RMS}(x)} * \gamma_i, \quad \text{where} \quad \text{RMS}(x) = \sqrt{\epsilon + \frac{1}{n} \sum_{i=1}^{n} x_i^2}

均方根 (RMS) 計算是基於最後 D 個維度進行的,其中 Dnormalized_shape 的維度。例如,如果 normalized_shape(3, 5)(一個二維形狀),則均方根計算將應用於輸入的最後 2 個維度。

引數
  • normalized_shape (intlisttorch.Size) –

    預期輸入大小的輸入形狀

    [×normalized_shape[0]×normalized_shape[1]××normalized_shape[1]][* \times \text{normalized\_shape}[0] \times \text{normalized\_shape}[1] \times \ldots \times \text{normalized\_shape}[-1]]

    如果使用單個整數,則將其視為單元素列表,此模組將對最後一個維度進行歸一化,該維度的預期大小即為此整數值。

  • eps (Optional[float]) – 新增到分母中用於數值穩定性的值。預設值: torch.finfo(x.dtype).eps()

  • elementwise_affine (bool) – 布林值。當設定為 True 時,此模組具有可學習的逐元素仿射引數,引數(對於權重)初始化為 1。預設值: True

形狀
  • 輸入: (N,)(N, *)

  • 輸出: (N,)(N, *) (與輸入形狀相同)

示例

>>> rms_norm = nn.RMSNorm([2, 3])
>>> input = torch.randn(2, 2, 3)
>>> rms_norm(input)
extra_repr()[source][source]

模組的額外資訊。

返回型別

str

forward(x)[source][source]

執行前向傳播。

返回型別

Tensor

reset_parameters()[source][source]

根據在 __init__ 中使用的初始化方法重置引數。

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取適合初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源