【问题标题】:Tensorboard and Dropout LayersTensorboard 和 Dropout 层
【发布时间】:2018-02-25 19:41:30
【问题描述】:

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

几乎相同的 CNN 的代码:

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())

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

【问题讨论】:

  • 你能说明你是如何连接它们的吗?
  • 所有层都使用 miodel.add 函数连接,如上面的代码所示。

标签: tensorflow merge keras dropout


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 1970-01-01
    • 2020-12-10
    • 2022-01-10
    • 2021-12-12
    • 2021-03-27
    • 2019-05-22
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多