What is the meaning of axis=-1 in keras.argmax?

老子叫甜甜 提交于 2019-12-04 07:29:17

问题


I am a beginner in Keras and need help to understand keras.argmax(a, axis=-1) and keras.max(a, axis=-1). What is the meaning of axis=-1 when a.shape = (19, 19, 5, 80)? And also what will be the output of keras.argmax(a, axis=-1) and keras.max(a, axis=-1)?


回答1:


This means that the index that will be returned by argmax will be taken from the last axis.

Your data has some shape (19,19,5,80). This means:

  • Axis 0 = 19 elements
  • Axis 1 = 19 elements
  • Axis 2 = 5 elements
  • Axis 3 = 80 elements

Now, negative numbers work exactly like in python lists, in numpy arrays, etc. Negative numbers represent the inverse order:

  • Axis -1 = 80 elements
  • Axis -2 = 5 elements
  • Axis -3 = 19 elements
  • Axis -4 = 19 elements

When you pass the axis parameter to the argmax function, the indices returned will be based on this axis. Your results will lose this specific axes, but keep the others.

See what shape argmax will return for each index:

  • K.argmax(a,axis= 0 or -4) returns (19,5,80) with values from 0 to 18
  • K.argmax(a,axis= 1 or -3) returns (19,5,80) with values from 0 to 18
  • K.argmax(a,axis= 2 or -2) returns (19,19,80) with values from 0 to 4
  • K.argmax(a,axis= 3 or -1) returns (19,19,5) with values from 0 to 79


来源:https://stackoverflow.com/questions/47435526/what-is-the-meaning-of-axis-1-in-keras-argmax

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!