torch.float_power

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

inputexponent为指数,逐元素地进行双精度幂运算。如果两个输入都不是复数,则返回torch.float64张量;如果有任何一个输入是复数,则返回torch.complex128张量。

注意

此函数始终以双精度进行计算,而不同于torch.pow()实现的类型提升。当计算需要在更宽或更高精度的数据类型中执行时,或者计算结果可能包含输入数据类型无法表示的小数部分(例如,整数基数被提升到负整数指数)时,这非常有用。

参数
  • input (TensorNumber) – 输入基值

  • exponent (TensorNumber) – 指数值

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> 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)
本页目录