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