评价此页

torch.float_power#

torch.float_power(input, exponent, *, out=None) Tensor#

input 提升到 exponent 的幂次方,进行逐元素运算,以双精度进行。如果两个输入都不是复数,则返回一个 torch.float64 张量;如果一个或多个输入是复数,则返回一个 torch.complex128 张量。

注意

此函数始终以双精度计算,不像 torch.pow() 那样执行更典型的 类型提升。当计算需要以更宽或更精确的 dtype 进行,或者计算结果可能包含输入 dtype 中无法表示的分数时(例如,整数基数提升到负整数指数时),此函数非常有用。

参数
  • input (TensorNumber) – 基数值

  • exponent (TensorNumber) – 指数值

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> a = torch.randint(10, (4,))
>>> a
tensor([6, 4, 7, 1])
>>> torch.float_power(a, 2)
tensor([36., 16., 49.,  1.], dtype=torch.float64)

>>> a = torch.arange(1, 5)
>>> a
tensor([ 1,  2,  3,  4])
>>> exp = torch.tensor([2, -3, 4, -5])
>>> exp
tensor([ 2, -3,  4, -5])
>>> torch.float_power(a, exp)
tensor([1.0000e+00, 1.2500e-01, 8.1000e+01, 9.7656e-04], dtype=torch.float64)