Was bedeutet Achse = -1 in keras.argmax?

71

Ich bin ein Anfänger in Keras und brauche Hilfe, um keras.argmax(a, axis=-1)und zu verstehen keras.max(a, axis=-1). Was bedeutet axis=-1wann a.shape = (19, 19, 5, 80)? Und was wird das Ergebnis von keras.argmax(a, axis=-1)und sein keras.max(a, axis=-1)?

Youngtackpark
quelle
57
Jemand folgt deeplearning.ais Kurs für Faltungs-Neuronale Netze :-)
Asciiom
8
Zusätzlich zu der hervorragenden Antwort von Daniel Möller, wenn Ihre Daten eine Form hat , (19,19,5,80)dann keras.max(a, axis=-1)würde wieder eine Matrix von Form , (19,19,5)wobei jeder Wert der Ausgangsmatrix das Maximum der 80 Elemente sein würde (das Maximum der Werte innerhalb des letzten Index angegeben)

Antworten:

141

Dies bedeutet, dass der von argmax zurückgegebene Index von der letzten Achse übernommen wird.

Ihre Daten haben eine gewisse Form (19,19,5,80). Das heisst:

  • Achse 0 = 19 Elemente
  • Achse 1 = 19 Elemente
  • Achse 2 = 5 Elemente
  • Achse 3 = 80 Elemente

Jetzt funktionieren negative Zahlen genau wie in Python-Listen, in Numpy-Arrays usw. Negative Zahlen stehen für die umgekehrte Reihenfolge:

  • Achse -1 = 80 Elemente
  • Achse -2 = 5 Elemente
  • Achse -3 = 19 Elemente
  • Achse -4 = 19 Elemente

Wenn Sie den axisParameter an die argmaxFunktion übergeben, basieren die zurückgegebenen Indizes auf dieser Achse. Ihre Ergebnisse verlieren diese spezifischen Achsen, aber behalten Sie die anderen.

Sehen Sie, welche Form argmaxfür jeden Index zurückgegeben wird:

  • K.argmax(a,axis= 0 or -4)gibt (19,5,80)mit Werten von zurück0 to 18
  • K.argmax(a,axis= 1 or -3)gibt (19,5,80)mit Werten von zurück0 to 18
  • K.argmax(a,axis= 2 or -2)gibt (19,19,80)mit Werten von zurück0 to 4
  • K.argmax(a,axis= 3 or -1)gibt (19,19,5)mit Werten von zurück0 to 79
Daniel Möller
quelle
Vielen Dank! Ich habe mit einer anderen Datenstruktur gearbeitet, und es stellte sich für mich heraus, dass es wichtig war, die Keras-Achsenindizierung als etwas wie K.sum (dreidimensionales Array, Achse = [0,1]) zu verwenden.
Legel