比较与torch.range的功能差异
torch.range
torch.range(start=0,
end,
step=1,
*,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
更多内容详见torch.range。
mindspore.ops.range
mindspore.ops.range(start,
end,
step
)
更多内容详见mindspore.ops.range。
差异对比
MindSpore: 输出Tensor的dtype取决于输入。
PyTorch: 输出Tensor的dtype取决于参数 dtype
。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
---|---|---|---|---|
输入 |
输入 1 |
start |
start |
MindSpore必须为Tensor,然而PyTorch为float |
输入 2 |
end |
end |
MindSpore必须为Tensor,然而PyTorch为float |
|
输入 3 |
step |
step |
MindSpore必须为Tensor,然而PyTorch为float |
|
输入 4 |
out |
- |
不涉及 |
|
输入 5 |
dtype |
- |
不涉及 |
|
输入 6 |
layout |
- |
不涉及 |
|
输入 7 |
device |
- |
不涉及 |
|
输入 8 |
requires_grad |
- |
不涉及 |
代码示例
import mindspore as ms
import torch
from mindspore import Tensor, ops
# PyTorch
torch.range(0, 10, 4)
# tensor([0., 4., 8.])
# MindSpore
start = Tensor(0, ms.int32)
limit = Tensor(10, ms.int32)
delta = Tensor(4, ms.int32)
output = ops.range(start, limit, delta)
print(output)
# [0 4 8]