BatchNormalization 中 (axis = 3) 的含义是什么?

San*_*fat 5 python deep-learning keras batch-normalization

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)
Run Code Online (Sandbox Code Playgroud)

BatchNormalization 我阅读了 keras 文档但我不明白它的 (axis =3) 是什么意思,谁能解释一下axis是什么意思?

unl*_*lut 4

这取决于“conv1”变量的维度如何排序。首先,请注意,批量归一化应在卷积后在通道上执行,例如,如果您的维度顺序是[批量,高度,宽度,通道],则您希望使用 axis=3。基本上,您选择代表您的频道的轴索引。