AddV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:对输入张量
x1和x2执行逐元素加法,支持广播,兼容TensorFlow AddV2语义。 -
版本说明:名称中的V2用于对应TensorFlow AddV2图节点,并不表示加法或广播规则发生变化。在AddV2与Add共同支持的数据类型范围内,两者的数学语义一致;AddV2的数据类型和调用通路以本文为准。
-
计算公式:
yi=x1,i+x2,iy_i=x_{1,i}+x_{2,i}
其中ii遍历广播结果的全部元素,x1,ix_{1,i}和x2,ix_{2,i}表示广播后对应位置的元素。
- 广播示例:
x1 shape (3, 4), x2 shape (1, 4) -> y shape (3, 4)
x1 shape (3, 1), x2 shape (1, 4) -> y shape (3, 4)
广播时从末尾维度向前对齐,每组对应维度的长度必须相等,或至少有一路的维度长度为1。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 加法运算的第一个输入张量,对应公式中的x1。 | BFLOAT16、FLOAT16、FLOAT、INT32、INT16、UINT8、INT8、INT64、COMPLEX64 | ND |
| x2 | 输入 | 加法运算的第二个输入张量,对应公式中的x2。数据类型与x1一致。 | BFLOAT16、FLOAT16、FLOAT、INT32、INT16、UINT8、INT8、INT64、COMPLEX64 | ND |
| y | 输出 | 加法运算的输出张量,对应公式中的y。数据类型与x1一致,shape为x1与x2的广播结果。 | BFLOAT16、FLOAT16、FLOAT、INT32、INT16、UINT8、INT8、INT64、COMPLEX64 | ND |
约束说明
- 输入、输出的数据类型以参数说明为准,不支持DOUBLE、COMPLEX128。
- 静态shape和动态shape均支持输入ND→输出ND;动态shape支持固定rank。
- rank取值范围为[0,8],rank为0时表示标量。
- Ascend 950PR&950DT系列产品:
- 支持参数说明中列出的全部数据类型。
- 支持动态rank。
- 支持空Tensor,输出y的shape仍必须是两路输入的广播结果。
- Atlas A3系列产品、Atlas A2系列产品:
- 支持BFLOAT16、FLOAT16、FLOAT、INT32、INT64。
- 不支持动态rank。
- 空Tensor仅支持两路输入shape相同,或其中一路输入为单元素张量的广播场景。
- Atlas 200I/500 A2推理产品、Atlas推理系列产品、Atlas训练系列产品:
- 支持FLOAT16、FLOAT、INT32、INT64。
- 不支持动态rank。
- 空Tensor仅支持两路输入shape相同,或其中一路输入为单元素张量的广播场景。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| GE图模式 | test_geir_add_v2 | 通过算子IR构图方式调用AddV2算子。 |
本算子不提供同名ACLNN接口,仅支持上表的GE图模式调用。