web-dev-qa-db-fra.com

Quelle est la signification de axis = -1 dans keras.argmax?

Je suis débutant en keras et j'ai besoin d’aide pour comprendre keras.argmax(a, axis=-1) et keras.max(a, axis=-1). Quel est le sens de axis=-1 quand a.shape = (19, 19, 5, 80)? Et aussi quelle sera la sortie de keras.argmax(a, axis=-1) et keras.max(a, axis=-1)?

45
youngtackpark

Cela signifie que l'index qui sera retourné par argmax sera pris à partir du dernier axe.

Vos données ont une forme (19,19,5,80). Ça signifie:

  • Axe 0 = 19 éléments
  • Axe 1 = 19 éléments
  • Axe 2 = 5 éléments
  • Axe 3 = 80 éléments

Maintenant, les nombres négatifs fonctionnent exactement comme dans les listes python, dans les tableaux numpy, etc. Les nombres négatifs représentent l'ordre inverse:

  • Axe -1 = 80 éléments
  • Axe -2 = 5 éléments
  • Axe -3 = 19 éléments
  • Axe -4 = 19 éléments

Lorsque vous transmettez le paramètre axis à la fonction argmax, les index renvoyés sont basés sur cet axe. Vos résultats vont perdre cet axe spécifique, mais gardez les autres.

Voir quelle forme argmax retournera pour chaque index:

  • K.argmax(a,axis= 0 or -4) renvoie (19,5,80) avec les valeurs de 0 to 18
  • K.argmax(a,axis= 1 or -3) renvoie (19,5,80) avec les valeurs de 0 to 18
  • K.argmax(a,axis= 2 or -2) renvoie (19,19,80) avec les valeurs de 0 to 4
  • K.argmax(a,axis= 3 or -1) renvoie (19,19,5) avec les valeurs de 0 to 79
87
Daniel Möller