BatchNormalization中axis = 3的含义是什么

时间:2018-08-26 07:49:55

标签: python keras deep-learning 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)

在BatchNormalization中,轴= 3的含义是我阅读的keras文档,但我不明白有人可以解释

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

在上述答案中需要进行一些小的更正。 如果尺寸为[高度,宽度,通道],则轴为3。批次不属于输入尺寸。