Inv
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:对输入张量的每个元素逐元素计算倒数。
-
计算公式:
outi=1selfiout_{i}=\frac{1}{self_{i}}
-
浮点(FLOAT、FLOAT16、BFLOAT16)按 IEEE-754 真值倒数计算(除零得 ±Inf\pm\text{Inf}、±Inf\pm\text{Inf} 得 ±0\pm0、NaN 得 NaN)。
-
INT32 按截断向零的整数倒数计算,整型下 1/self1/self 仅当 ∣self∣=1|self|=1 时非零,等价为三值映射:
outi={+1selfi=+1−1selfi=−10其他(含 selfi=0、∣selfi∣≥2、INT_MIN、INT_MAX)out_{i}= \begin{cases} +1 & self_{i}=+1 \\ -1 & self_{i}=-1 \\ 0 & \text{其他(含 } self_{i}=0、|self_{i}|\ge 2、\text{INT\_MIN}、\text{INT\_MAX)} \end{cases}
其中 selfi=0self_{i}=0 映射为 00 且不抛异常,INT_MIN(−2147483648)\text{INT\_MIN}(-2147483648)、INT_MAX(2147483647)\text{INT\_MAX}(2147483647) 均映射为 00 且不溢出。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 待进行inv计算的入参,公式中的self。支持空Tensor、非连续Tensor,shape维度0-8。 | FLOAT、FLOAT16、BFLOAT16、INT32 | ND |
| out | 输出 | 待进行inv计算的出参,公式中的out。shape和数据类型与self一致。 | FLOAT、FLOAT16、BFLOAT16、INT32 | ND |
约束说明
- self 与 out 必须 shape、dtype 相同,逐元素计算,无广播。
- 浮点路径精度按社区标准:FLOAT rtol/atol = 1e-4,FLOAT16 = 1e-3,BFLOAT16 = 4e-3。
- INT32 路径为精确匹配(bitwise,rtol = atol = 0),采用纯整型比较 + 选择实现三值映射,不经float32中转、不对INT_MIN取负,故INT_MIN/INT_MAX不溢出、self = 0不抛异常。
调用说明
| 调用方式 | 说明 |
|---|---|
| 图模式调用 | 通过算子IR构图方式调用Inv算子。样例参见test_geir_inv。 |