Eltwise

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:Eltwise 算子对 1~32 个同 shape、同 dtype 的输入张量执行逐元素操作,支持三种计算模式。

  • 计算公式:

    • mode=0 (PRODUCT):逐元素乘积

      outi=xi(0)×xi(1)×⋯×xi(n−1)out_i = x^{(0)}_i \times x^{(1)}_i \times \cdots \times x^{(n-1)}_i

    • mode=1 (SUM):逐元素加权求和

      outi=c0⋅xi(0)+c1⋅xi(1)+⋯+cn−1⋅xi(n−1)out_i = c_0 \cdot x^{(0)}_i + c_1 \cdot x^{(1)}_i + \cdots + c_{n-1} \cdot x^{(n-1)}_i

      其中 ckc_k 为第 kk 个输入的加权系数(coeff),默认值为 1.0。

    • mode=2 (MAX):逐元素取最大值

      outi=max⁡(xi(0),xi(1),…,xi(n−1))out_i = \max(x^{(0)}_i, x^{(1)}_i, \ldots, x^{(n-1)}_i)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
inputs 输入 输入张量列表,包含 1~32 个张量。所有张量必须同 shape、同 dtype。支持空 Tensor(0 元素)。 FLOAT、FLOAT16、BFLOAT16 ND
mode 属性
  • 计算模式。
  • 0=PRODUCT(逐元素乘积),1=SUM(逐元素加权求和),2=MAX(逐元素取最大值)。
INT64 -
coeff 可选属性
  • 加权系数数组,仅 mode=1 时有效。
  • 长度必须与 inputs 中张量个数一致。
  • 可传空指针,此时默认所有系数为 1.0。
  • mode=0 和 mode=2 时忽略此参数。
FLOAT -
out 输出 输出张量。shape 与输入张量相同,dtype 与输入张量相同。不支持空 Tensor。 FLOAT、FLOAT16、BFLOAT16 ND

约束说明

  • 所有输入张量必须同 shape、同 dtype,不支持广播。
  • 输入张量个数范围为 [1, 32]。
  • 输出 dtype 和 shape 必须与输入完全一致。
  • 仅支持 ND 数据格式,shape 维度范围:0~8。
  • mode 仅支持 0(PRODUCT)、1(SUM)、2(MAX)三个取值。
  • mode=1 时,若提供 coeff,其长度必须等于输入张量个数;若不提供(传空指针),默认系数为 1.0。
  • 空 Tensor(0 元素):正常接受,返回空 out,不进行计算。
  • 确定性计算:是(逐元素操作,不涉及 Reduce,输出结果确定)。

调用说明

调用方式 样例代码 说明
图模式 test_geir_eltwise.cpp 通过图模式方式调用Eltwise算子。