比较与torch.min的差异
torch.min
torch.min(input, dim, keepdim=False, *, out=None)
更多内容详见torch.min。
mindspore.ops.min
mindspore.ops.min(input, axis=None, keepdims=False, *, initial=None, where=None)
更多内容详见mindspore.ops.min。
差异对比
PyTorch:输出为元组(最大值, 最大值的索引)。
MindSpore:axis为None或者shape为空时,keepdims以及后面的参数均不生效,功能与torch.min(input)一致,此时索引固定返回0;否则,输出为元组(最大值, 最大值的索引),功能与torch.min(input, dim, keepdim=False, *, out=None)一致。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
input |
input |
一致 |
参数2 |
dim |
axis |
功能一致,参数名不同 |
|
参数3 |
keepdim |
keepdims |
功能一致,参数名不同 |
|
参数4 |
- |
initial |
不涉及 |
|
参数5 |
- |
where |
不涉及 |
|
参数6 |
out |
- |
不涉及 |
代码示例
import mindspore as ms
import mindspore.ops as ops
import torch
import numpy as np
np_x = np.array([[-0.0081, -0.3283, -0.7814, -0.0934],
[1.4201, -0.3566, -0.3848, -0.1608],
[-0.0446, -0.1843, -1.1348, 0.5722],
[-0.6668, -0.2368, 0.2790, 0.0453]]).astype(np.float32)
# mindspore
input_x = ms.Tensor(np_x)
output, index = ops.min(input_x, axis=1)
print(output)
# [-0.7814 -0.3848 -1.1348 -0.6668]
print(index)
# [2 2 2 0]
# torch
input_x = torch.tensor(np_x)
output, index = torch.min(input_x, dim=1)
print(output)
# tensor([-0.7814, -0.3848, -1.1348, -0.6668])
print(index)
# tensor([2, 2, 2, 0])