一:argmax中axis问题

总之:axis=0/1不是行/列关系


test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]])


Tensorflow踩坑系列---argmax中axis问题_数组

(一)axis=0 : 0表示最大范围,所有的数组都要比较到


np.argmax(test, 0)


Tensorflow踩坑系列---argmax中axis问题_javascript_02

你就这么想,0是最大的范围,所有的数组都要进行比较,只是比较的是这些数组相同位置上的数:

Tensorflow踩坑系列---argmax中axis问题_javascript_03

(二)axis=1 : 1表示的范围比0要小,所以只会比较每个数组内部的个数大小


np.argmax(test, 1)


Tensorflow踩坑系列---argmax中axis问题_数据_04

等于1的时候,比较范围缩小了,只会比较每个数组内的数的大小,结果也会根据有几个数组,产生几个结果。

Tensorflow踩坑系列---argmax中axis问题_javascript_05

二: 新的案例推导---重点


test = np.array([[[1, 2, 3], [2, 3, 5],[2, 2, 2]], [[5, 4, 3], [8, 7, 2],[1, 2, 3]], [[5, 4, 6], [10, 7, 30], [1, 2, 3]]])


Tensorflow踩坑系列---argmax中axis问题_数据_06

(一)axis=0表示范围最大,所有数组都要兼顾


np.argmax(test, 0)


Tensorflow踩坑系列---argmax中axis问题_数组_07

Tensorflow踩坑系列---argmax中axis问题_数组_08

(二)axis=1表示范围较小于0的范围,低一维的数组中找最大值(要兼顾该维度中所有子维度数据)


np.argmax(test, 1)


Tensorflow踩坑系列---argmax中axis问题_数据_09

Tensorflow踩坑系列---argmax中axis问题_javascript_10

(三)axis=2表示范围较小于1的范围,低一维的数组中找最大值(要兼顾该维度中所有子维度数据)


np.argmax(test, 2)


Tensorflow踩坑系列---argmax中axis问题_数据_11

Tensorflow踩坑系列---argmax中axis问题_javascript_12