如何在 Keras 功能模型中添加 Dropout?

Posted

技术标签:

【中文标题】如何在 Keras 功能模型中添加 Dropout?【英文标题】:How to add Dropout in Keras functional model? 【发布时间】:2018-07-18 00:18:10 【问题描述】:

假设我在 Keras 中有一个这样的 LSTM 层:

x = Input(shape=(input_shape), dtype='int32')

x = LSTM(128,return_sequences=True)(x)

现在我正在尝试使用以下方法将 Dropout 添加到该层:

X = Dropout(0.5)

但这会产生错误,我假设上面的行是重新定义 X 而不是向其中添加 Dropout。 如何解决这个问题?

【问题讨论】:

【参考方案1】:

只需像这样添加x = Dropout(0.5)(x)

x = Input(shape=(input_shape), dtype='int32')
x = LSTM(128,return_sequences=True)(x)
x = Dropout(0.5)(x)

【讨论】:

以上是关于如何在 Keras 功能模型中添加 Dropout?的主要内容,如果未能解决你的问题,请参考以下文章

Keras减少过拟合的秘诀——Dropout正则化

Keras 的深度学习模型中的 Dropout 正则化

使用 Keras 将 Dropout 层添加到 Segmentation_Models Resnet34

有没有办法在 Keras 的推理过程中激活 dropout,同时冻结批处理规范层

keras 添加L2正则 和 dropout层

Keras LSTM 模型过拟合