【发布时间】:2019-01-08 12:42:19
【问题描述】:
我正在使用 RetinaNet NN 模型进行对象检测,但遇到过拟合问题。 解决方案之一是添加“Dropout”。 我正在使用 keras 代码Here
我想将 Dropout 添加到最后一层,但我不知道如何添加。
谁能帮助我应该更改哪个文件?如何更改?
【问题讨论】:
标签: machine-learning keras neural-network dropout
我正在使用 RetinaNet NN 模型进行对象检测,但遇到过拟合问题。 解决方案之一是添加“Dropout”。 我正在使用 keras 代码Here
我想将 Dropout 添加到最后一层,但我不知道如何添加。
谁能帮助我应该更改哪个文件?如何更改?
【问题讨论】:
标签: machine-learning keras neural-network dropout
一段时间后,我尝试了很多解决方案,但没有一个没有说具体如何添加,所以我尝试了,然后找到了如何添加,所以决定自己回答!
只需要像这样添加一行:
outputs = keras.layers.SpatialDropout1D (rate=dropout_rate) (outputs)
您可以使用另一种图层 dropout 类型,例如:
SpatialDropout2D 等等。
【讨论】:
您可以尝试将全连接层存储到一个变量中,例如:
fc1 = model.layers[-3]
fc2 = model.layers[-2]
predictions = model.layers[-1]
然后创建您的 dropout 层并重新连接它们以构建一个新模型,如本文所示:Add dropout layers between pretrained dense layers in keras
希望这会有所帮助。
【讨论】: