Что означает ось = 3 в BatchNormalization
inputs = Input((img_height, img_width, img_ch))
conv1 = Conv2D(n_filters, (k, k), padding=padding)(inputs)
conv1 = BatchNormalization(scale=False, axis=3)(conv1)
conv1 = Activation('relu')(conv1)
conv1 = Conv2D(n_filters, (k, k), padding=padding)(conv1)
conv1 = BatchNormalization(scale=False, axis=3)(conv1)
conv1 = Activation('relu')(conv1)
pool1 = MaxPooling2D(pool_size=(s, s))(conv1)
значение оси =3 в BatchNormalization я прочитал документацию Keras, но я не могу понять, может ли кто-нибудь объяснить это
1 ответ
Это зависит от того, как упорядочены размеры вашей переменной conv1. Во-первых, обратите внимание, что нормализация партии должна выполняться по каналам после свертки, например, если ваш размерный порядок [партия, высота, ширина, канал], вы хотите использовать axis=3. В основном вы выбираете индекс оси, который представляет ваши каналы.
В приведенном выше ответе требуется небольшая поправка. Если размер равен [высота, ширина, канал], тогда ось равна 3. Пакет не является частью входного размера.