问题:keras.backend.max 与 keras.backend.argmax 有什么区别?

我是深度学习的初学者,在执行实际作业时,偶然发现了keras.backend上的 Keras 文档。

我经历了很多次的解释。但是,我不能完全理解 max 和 argmax 函数之间的区别。

解答

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

import numpy as np
vector = np.array([1, 2, 3, 2, 1])

现在,np.max(vector)返回数字3,因为这是向量中的最大 value。然而np.argmax(vector)返回2,因为这是向量中最大值的_index_。

argmax函数通常用于对 softmax 层的输出进行后处理。假设分类器的输出层(将某些图像分类为四个类别之一)是

output = Dense(4, activation='softmax')(...)

predict(some_random_image)的输出是[0.02, 0.90, 0.06, 0.02]。然后,argmax([0.02, 0.90, 0.06, 0.02])立即给你上课(1)。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐