Differences with torch.prod
The following mapping relationships can be found in this file.
PyTorch APIs |
MindSpore APIs |
---|---|
torch.prod |
mindspore.ops.prod |
torch.Tensor.prod |
mindspore.Tensor.prod |
torch.prod
torch.prod(input, dim, keepdim=False, *, dtype=None) -> Tensor
For more information, see torch.prod.
mindspore.ops.prod
mindspore.ops.prod(input, axis=(), keep_dims=False) -> Tensor
For more information, see [mindspore.ops.prod](https://mindspore.cn/docs/en/r2.1/api_python/ops/mindspore.ops.prod.html.
Differences
PyTorch: Find the product on elements in input
based on the specified dim
. keepdim
controls whether the output and input have the same dimension. dtype
sets the data type of the output Tensor.
MindSpore: Find the product on the elements in input
by the specified axis
. The function of keep_dims
is the same as PyTorch. MindSpore does not have a dtype
parameter. MindSpore has a default value for axis
, which is the product of all elements of input
if axis
is the default value.
Categories |
Subcategories |
PyTorch |
MindSpore |
Differences |
---|---|---|---|---|
Parameters |
Parameter 1 |
input |
input |
Consistent |
Parameter 2 |
dim |
axis |
PyTorch must pass |
|
Parameter 3 |
keepdim |
keep_dims |
Same function, different parameter names |
|
Parameter 4 |
dtype |
- |
PyTorch |
Code Example
# PyTorch
import torch
input = torch.tensor([[1, 2.5, 3, 1], [2.5, 3, 2, 1]], dtype=torch.float32)
print(torch.prod(input, dim=1, keepdim=True))
# tensor([[ 7.5000],
# [15.0000]])
print(torch.prod(input, dim=1, keepdim=True, dtype=torch.int32))
# tensor([[ 6],
# [12]], dtype=torch.int32)
# MindSpore
import mindspore
x = mindspore.Tensor([[1, 2.5, 3, 1], [2.5, 3, 2, 1]], dtype=mindspore.float32)
print(mindspore.ops.prod(x, axis=1, keep_dims=True))
# [[ 7.5]
# [15. ]]