Tensorboard 和 Dropout 层

Man*_*ing 5 merge keras tensorflow dropout

我有一个非常基本的查询。我制作了 4 个几乎相同的(差异是输入形状)CNN,并在连接到完全连接层的前馈网络时将它们合并。

几乎相同的 CNN(s) 的代码:

model3 = Sequential()
model3.add(Convolution2D(32, (3, 3), activation='relu', padding='same', 
                                     input_shape=(batch_size[3], seq_len, channels)))
model3.add(MaxPooling2D(pool_size=(2, 2)))
model3.add(Dropout(0.1))
model3.add(Convolution2D(64, (3, 3), activation='relu', padding='same'))
model3.add(MaxPooling2D(pool_size=(2, 2)))
model3.add(Flatten())
Run Code Online (Sandbox Code Playgroud)

但是在张量板上,我看到所有的 Dropout 层都是相互连接的,并且 Dropout1 的颜色与 Dropout2、3、4 等颜色不同,它们都是相同的颜色。在此处输入图片说明

Fre*_*red 5

我知道这是一个老问题,但我自己也有同样的问题,刚才我意识到发生了什么

Dropout 仅在我们训练模型时应用。这应该在我们评估/预测时停用。为此,keras 创建了一个learning_phase占位符,1.0如果我们正在训练模型,则设置为。该占位符是在Dropout您创建的第一个图层内创建的,并在所有图层之间共享。所以这就是你在那里看到的!