---
title: CohereLayerNormOperation
description: "| 硬件型号 | 是否支持 | 特殊说明 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0139.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0139.html
indexId: cf88d3b0fd518da167e7ac7e005157ac7ad675596937709692de1377a304775164
---
# CohereLayerNormOperation

#### 产品支持情况

| 硬件型号 | 是否支持 | 特殊说明 |
| --- | --- | --- |
| Atlas 350 加速卡 | x | \- |
| Atlas A3 推理系列产品 / Atlas A3 训练系列产品 | √ | 支持float16、bf16数据类型。 |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ | 支持float16、bf16数据类型。 |
| Atlas 训练系列产品 | x | \- |
| Atlas 推理系列产品 | x | \- |
| Atlas 200I/500 A2 推理产品 | x | \- |


#### 功能说明

一种归一化方法，可以将网络层输入根据-1维归一化到[0, 1]之间。


#### 定义

```
struct CohereLayerNormParam {
    float epsilon = 1e-5;
    uint8_t rsv[32] = {0};
};
```


#### 参数列表

| 成员名称 | 类型 | 默认值 | 取值范围 | 是否必选 | 描述 |
| --- | --- | --- | --- | --- | --- |
| epsilon | float | 1e\-5 | 大于0 | 否 | epsilon，归一化时加在分母上防止除0。 |
| rsv | uint8\_t | {0} | \- | 否 | 预留字段。 |


#### Command R Plus模型归一化功能

- 功能描述
  针对Command R Plus模型，对多batch数据用于表示根据最后一维进行归一化操作。

- 计算公式
  E[, -1]和Var[, -1]分别为最后一维的均值和方差，为epsilon，为权重。

- 输入| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16/bf16 | ND | 最后一维的大小要为32的倍数。 维度只能为3或4。 |
| gamma | [dim\_n\-1, dim\_n] | float16/bf16 | ND | 最后一维的大小要为32的倍数。 维度只能为2。 x和gamma最后两维的维度数一致。 |


- 输出| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| result | [dim\_0, dim\_1, ..., dim\_n] | float16/bf16 | ND | x、result和gamma的数据格式一致。 |
