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

6
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)
< p >在< code >BatchNormalization< /code >中,(axis =3)的含义是什么?我阅读了keras文档,但无法理解,请问有谁能解释一下axis的含义?< /p >
2个回答

4

这取决于您的 "conv1" 变量的维度如何排序。首先,请注意,在卷积之后应该对通道进行批量归一化。例如,如果您的维度顺序为 [batch, height, width, channel],则应使用 axis=3。基本上,您选择代表通道的轴索引。


1
以上答案需要进行小修正。 如果维度是[高度,宽度,通道],那么轴就是3。批次不是输入维度的一部分。

输入张量的形状为 (m, n_H_prev, n_W_prev, n_C_prev),他是正确的。 - Mohamed Fathallah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接