Я новичок в глубоком обучении, и я работаю над набором данных mnist в керасе.
Я использовал нормализацию как
tf.keras.utils.normalize(x_train, axis = 1)
Я не понимаю, что означает аргумент оси. Можете ли вы мне помочь?
Функция нормализации просто выполняет нормальную нормализацию для повышения производительности:
Нормализация - это перемасштабирование данных из исходного диапазона, так что все значения находятся в диапазоне от 0 до 1.
В другом сообщении есть хорошее объяснение аргумента оси:
Например:
Ваши данные имеют определенную форму (19,19,5,80). Это означает:
- Axis = 0 - 19 элементов
- Ось = 1 - 19 элементов
- Ось = 2 - 5 элементов
- Ось = 3 - 80 элементов
Кроме того, для тех, кто хочет глубже, есть объяснение от Франсуа Чолле - Keras author- на GitHub:
- Для слоя Dense все слои RNN и большинство других типов слоев, по умолчанию для оси = -1 - это то, что вы должны использовать,
- Для слоев Convolution2D с dim_ordering = "th" (по умолчанию) используйте ось = 1,
- Для слоев Convolution2D с dim_ordering = "tf" используйте ось = -1 (т.е. по умолчанию).
keras.utils.normalize()
вызывает numpy.linalg.norm()
чтобы вычислить норму, а затем нормализовать входные данные. Поэтому данный аргумент axis
передается функции norm()
для вычисления нормы вдоль данной оси.