比较与torch.float_power的差异
以下映射关系均可参考本文。
| PyTorch APIs | MindSpore APIs | 
|---|---|
| torch.float_power | mindspore.ops.float_power | 
| torch.Tensor.float_power | mindspore.Tensor.float_power | 
torch.float_power
torch.float_power(input, exponent, *, out=None) -> Tensor
更多内容详见torch.float_power。
mindspore.ops.float_power
mindspore.ops.float_power(input, exponent)
更多内容详见mindspore.ops.float_power。
差异对比
PyTorch:将输入tensor提高到双精度计算指数幂。如果两个输入都不是复数,则返回torch.float64张量,如果一个或多个输入是复数,则返回torch.complex128张量。
MindSpore:如果两个输入都是实数,MindSpore此API实现功能与PyTorch一致,仅参数名不同。目前不支持复数运算。
| 分类 | 子类 | PyTorch | MindSpore | 差异 | 
|---|---|---|---|---|
| 参数 | 参数1 | input | input | 功能一致 | 
| 参数2 | exponent | exponent | 功能一致 | |
| 参数3 | out | - | 不涉及 | 
代码示例
当输入是实数类型,两API功能一致,用法相同。
import numpy as np
input_np = np.array([2., 3., 4.], np.float32)
# PyTorch
import torch
input = torch.from_numpy(input_np)
out_torch = torch.float_power(input, 2.)
print(out_torch.detach().numpy())
# [ 4.  9. 16.]
# MindSpore
import mindspore
from mindspore import Tensor, ops
x = Tensor(input_np)
output = ops.float_power(x, 2.)
print(output.asnumpy())
# [ 4.  9. 16.]