torch.float_power
- torch.float_power(input, exponent, *, out=None) → Tensor
-
将input以exponent为指数,逐元素地进行双精度幂运算。如果两个输入都不是复数,则返回torch.float64张量;如果有任何一个输入是复数,则返回torch.complex128张量。
注意
此函数始终以双精度进行计算,而不同于
torch.pow()
实现的类型提升。当计算需要在更宽或更高精度的数据类型中执行时,或者计算结果可能包含输入数据类型无法表示的小数部分(例如,整数基数被提升到负整数指数)时,这非常有用。示例:
>>> 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)