Я новичок в Керасе, и мне нужна помощь, чтобы понять keras.argmax(a, axis=-1) и keras.max(a, axis=-1). Что означает axis=-1, когда a.shape = (19, 19, 5, 80)? А также, что будет выходом keras.argmax(a, axis=-1) и keras.max(a, axis=-1)?
В чем смысл оси = -1 в keras.argmax?
Ответ 1
Это означает, что индекс, который будет возвращен argmax, будет взят из последней оси.
Ваши данные имеют некоторую форму (19,19,5,80). Это значит:
- Ось 0 = 19 элементов
- Ось 1 = 19 элементов
- Ось 2 = 5 элементов
- Ось 3 = 80 элементов
Теперь отрицательные числа работают точно так же, как в списках Python, в массивах с нулями и т.д. Отрицательные числа представляют обратный порядок:
- Ось -1 = 80 элементов
- Ось -2 = 5 элементов
- Ось -3 = 19 элементов
- Ось -4 = 19 элементов
Когда вы передаете параметр axis в функцию argmax, возвращаемые индексы будут основаны на этой оси. Ваши результаты потеряют эту конкретную ось, но сохранят остальные.
Посмотрите, какая форма argmax будет возвращаться для каждого индекса:
K.argmax(a,axis= 0 or -4)возвращает(19,5,80)со значениями из0 to 18K.argmax(a,axis= 1 or -3)возвращает(19,5,80)со значениями из0 to 18K.argmax(a,axis= 2 or -2)возвращает(19,19,80)со значениями из0 to 4K.argmax(a,axis= 3 or -1)возвращает(19,19,5)со значениями из0 to 79