web-dev-qa-db-ja.com

keras.argmaxのaxis = -1の意味は何ですか?

私はKerasの初心者であり、keras.argmax(a, axis=-1)keras.max(a, axis=-1)を理解するのに助けが必要です。 a.shape = (19, 19, 5, 80)の場合、axis=-1の意味は何ですか?また、keras.argmax(a, axis=-1)keras.max(a, axis=-1)の出力はどうなりますか?

45
youngtackpark

これは、argmaxによって返されるインデックスが最後の軸から取得されることを意味します。

データにはいくつかの形があります(19,19,5,80)。これの意味は:

  • 軸0 = 19要素
  • 軸1 = 19要素
  • 軸2 = 5要素
  • 軸3 = 80要素

現在、負の数はpythonリスト、numpy配列などとまったく同じように機能します。負の数は逆順を表します。

  • 軸-1 = 80要素
  • 軸-2 = 5要素
  • 軸-3 = 19要素
  • 軸-4 = 19要素

axisパラメーターをargmax関数に渡すと、返されるインデックスはこの軸に基づきます。結果はこの特定の軸を失いますが、他の軸は保持します。

インデックスごとにargmaxが返す形状を確認します。

  • K.argmax(a,axis= 0 or -4)は、(19,5,80)の値を持つ0 to 18を返します
  • K.argmax(a,axis= 1 or -3)は、(19,5,80)の値を持つ0 to 18を返します
  • K.argmax(a,axis= 2 or -2)は、(19,19,80)の値を持つ0 to 4を返します
  • K.argmax(a,axis= 3 or -1)は、(19,19,5)の値を持つ0 to 79を返します
87
Daniel Möller