比较与tf.arg_max的功能差异

tf.arg_max

tf.arg_max(input, dimension, output_type=tf.dtypes.int64, name=None)

更多内容详见tf.arg_max

mindspore.Tensor.argmax

mindspore.Tensor.argmax(axis=None)

更多内容详见mindspore.Tensor.argmax

使用方式

功能相同,MindSpore和TensorFlow的两接口分别通过参数axisdimension入参决定基于哪个维度返回最大值的索引。

不同点在于,默认状态下,MindSpore的axis=None,返回最大值的全局索引;TensorFlow的dimension不传入数值时,默认返回dimension=0的最大值索引。

代码示例

import mindspore as ms

a = ms.Tensor([[1, 10, 166.32, 62.3], [1, -5, 2, 200]], ms.float32)
print(a.argmax())
print(a.argmax(axis=0))
print(a.argmax(axis=1))
# output:
# 7
# [0 0 0 1]
# [2 3]

import tensorflow as tf
tf.enable_eager_execution()

b = tf.constant([[1, 10, 166.32, 62.3], [1, -5, 2, 200]])
print(tf.argmax(b).numpy())
print(tf.argmax(b, dimension=0).numpy())
print(tf.argmax(b, dimension=1).numpy())
# output:
# [0 0 0 1]
# [0 0 0 1]
# [2 3]