pypto.reciprocal#

功能说明#

计算输入张量的元素级倒数,即 out = 1 / input

接口原型#

pypto.reciprocal(input, precision_type=pypto.PrecisionType.INTRINSIC) -> Tensor

参数说明#

参数

类型

说明

input

Tensor

输入张量。
支持的数据类型为:DT_FP16、DT_BF16、DT_FP32。
不支持空Tensor;支持的维度:1-4维;Shape Size不大于2147483647(即INT32_MAX)。

precision_type

PrecisionType, 可选

倒数操作的精度模式。默认值为 PrecisionType.INTRINSIC
INTRINSIC:直接使用芯片指令进行计算,速度更快。
HIGH_PRECISION:使用更高精度的计算方式,减少精度损失。

返回值#

类型

说明

Tensor

包含输入张量元素级倒数的新张量。

代码示例#

示例 1:基本使用#

import pypto

x = pypto.tensor([4], pypto.DT_FP32)
y = pypto.reciprocal(x)

# Input x:  [-0.4595, -2.1219, -1.4314,  0.7298]
# Output y: [-2.1763, -0.4713, -0.6986,  1.3702]

示例 2:使用高精度模式#

import pypto

# 使用高精度模式进行 FP16 计算
x = pypto.tensor([4], pypto.DT_FP16)
y = pypto.reciprocal(x, pypto.PrecisionType.HIGH_PRECISION)

# Input x:  [4]
# Output y: [0.25]

示例 3:使用指令模式#

import pypto

# 使用指令模式
x = pypto.tensor([4], pypto.DT_FP32)
y = pypto.reciprocal(x, pypto.PrecisionType.INTRINSIC)

# Input x:  [4]
# Output y: [0.25]

相关接口#

  • pypto.rsqrt:计算输入张量的元素级平方根的倒数。

  • pypto.div:计算两个张量的元素级除法。