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

1

102

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)?

Angelaangele answered 22/11, 2017 at 13:6 Comment(2)
Somebody's following deeplearning.ai's convolutional neural networks course :-)Hastie
Adding to the excellent answer by Daniel Möller, if your data has a shape (19,19,5,80) then keras.max(a, axis=-1) would return a matrix of shape (19,19,5) where each value of the output matrix would be the maximum of the 80 elements (the maximum of the values specified within the last index)Np
M
196

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

Your data has some shape (20,19,5,80), I changed the first dimension just to make it clearer. This means:

  • Axis 0 = 20 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 = 20 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 19
  • K.argmax(a,axis= 1 or -3) returns (20,5,80) with values from 0 to 18
  • K.argmax(a,axis= 2 or -2) returns (20,19,80) with values from 0 to 4
  • K.argmax(a,axis= 3 or -1) returns (20,19,5) with values from 0 to 79
Macerate answered 22/11, 2017 at 13:35 Comment(2)
Thank you! I was working with a different data structure, and it turns out for me it was important to use the Keras axis indexing as something like K.sum(three_dimensional_array, axis=[0,1]).Cysteine
Also see: #46298610Cysteine

© 2022 - 2024 — McMap. All rights reserved.