---
title: RmsNormParam
description: "| 属性 | 类型 | 默认值 | 描述 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0338.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0338.html
indexId: e97d3d88abd23a071d1b886ac5ce8b63c65c4ecf263e23020a0df9c955958fb164
---
# RmsNormParam

| 属性 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| layer\_type | torch\_atb.RmsNormParam.RmsNormType | torch\_atb.RmsNormParam.RmsNormType.RMS\_NORM\_UNDEFINED | 此默认类型不可用，用户须配置此项参数。 |
| norm\_param | torch\_atb.RmsNormParam.NormParam | \- | \- |
| pre\_norm\_param | torch\_atb.RmsNormParam.PreNormParam | \- | \- |
| post\_norm\_param | torch\_atb.RmsNormParam.PostNormParam | \- | \- |


#### RmsNormParam.RmsNormType

枚举项：

- RMS_NORM_UNDEFINED
- RMS_NORM_PRENORM
- RMS_NORM_NORM
- RMS_NORM_POSTNORM


#### RmsNormParam.NormParam

| 属性 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| quant\_type | torch\_atb.QuantType | torch\_atb.QuantType.QUANT\_UNQUANT | 表示不进行量化操作。 |
| epsilon | float | 1e\-5 | \- |
| layer\_norm\_eps | double | 1e\-5 | \- |
| rstd | bool | False | \- |
| precision\_mode | torch\_atb.RmsNormParam.PrecisionMode | torch\_atb.RmsNormParam.PrecisionMode.HIGH\_PRECISION\_MODE | \- |
| model\_type | torch\_atb.RmsNormParam.ModelType | torch\_atb.RmsNormParam.ModelType.LLAMA\_MODEL | \- |
| dynamic\_quant\_type | torch\_atb.DynamicQuantType | torch\_atb.DynamicQuantType.DYNAMIC\_QUANT\_UNDEFINED | \- |


#### RmsNormParam.PrecisionMode

枚举项：

- HIGH_PRECISION_MODE
- HIGH_PERFORMANCE_MODE


#### RmsNormParam.ModelType

枚举项：

- LLAMA_MODEL
- GEMMA_MODEL


#### RmsNormParam.PreNormParam

| 属性 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| quant\_type | torch\_atb.QuantType | torch\_atb.QuantType.QUANT\_UNQUANT | 表示不进行量化操作。 |
| epsilon | float | 1e\-5 | \- |
| has\_bias | bool | False | \- |


#### RmsNormParam.PostNormParam

| 属性 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| quant\_type | torch\_atb.QuantType | torch\_atb.QuantType.QUANT\_UNQUANT | 表示不进行量化操作。 |
| epsilon | float | 1e\-5 | \- |
| has\_bias | bool | False | \- |


#### 调用示例

```
import torch
import torch_atb  
import numpy as np

def rms_norm():
    rms_norm_param = torch_atb.RmsNormParam(layer_type = torch_atb.RmsNormParam.RmsNormType.RMS_NORM_NORM)
    rms_norm_param.norm_param.rstd = True
    rms_norm = torch_atb.Operation(rms_norm_param)
    shape=[8, 8, 8]
    shape_gamma=[8]
    x = torch.from_numpy(np.random.uniform(low=0, high=100, size=shape).astype(np.float32))
    gamma = torch.from_numpy(np.random.uniform(low=0, high=100, size=shape_gamma).astype(np.float32))
    in_tensors = [x.npu(), gamma.npu()]
    print("in_tensors: ", in_tensors)

    def rms_norm_run():
        rms_norm_outputs = rms_norm.forward(in_tensors)
        return rms_norm_outputs

    outputs = rms_norm_run()
    print("outputs: ", outputs)

if __name__ == "__main__":
    rms_norm()
```
