Python keras.backend.max与keras.backend.argmax之间有什么区别?

Python keras.backend.max与keras.backend.argmax之间有什么区别?,python,keras,Python,Keras,我是一名深度学习的初学者,在执行一项实际作业时,偶然发现了上的Keras文档 这个解释我看了好几遍。但是,我无法准确理解max和argmax函数之间的区别。我将使用numpy包中的max和argmax来解释这一点,但这两个函数与Keras后端中的函数相同: import numpy as np vector = np.array([1, 2, 3, 2, 1]) 现在,np.max(vector)返回数字3,因为这是向量中的最大值np.argmax(vector)但是返回2,因为这是向量中最大

我是一名深度学习的初学者,在执行一项实际作业时,偶然发现了上的Keras文档


这个解释我看了好几遍。但是,我无法准确理解max和argmax函数之间的区别。

我将使用
numpy
包中的
max
argmax
来解释这一点,但这两个函数与Keras后端中的函数相同:

import numpy as np
vector = np.array([1, 2, 3, 2, 1])
现在,
np.max(vector)
返回数字
3
,因为这是向量中的最大值
np.argmax(vector)
但是返回
2
,因为这是向量中最大值的索引

argmax
函数通常用于对softmax层的输出进行后处理。假设分类器的输出层是


预测(一些随机图像)
的输出是
[0.02,0.90,0.06,0.02]
。然后,
argmax([0.02,0.90,0.06,0.02])
立即为您提供类(
1
)。

ohh。。因此max将返回实际值,argmax将只返回该值的索引。非常感谢您的回答@Ionicsolutions是的,没错。我还添加了一个示例,说明如何在分类问题中经常使用
argmax
函数。(如果答案对你有帮助,请考虑支持和接受它。谢谢!)为什么ARGMAX不命名为“Max指数”?两者之间的区别非常简单,可以使用适当的命名约定来表示。这很好地解释了为什么调用函数
argmax
output = Dense(4, activation='softmax')(...)