我正在使用 RetinaNet NN 模型进行对象检测,但遇到过拟合问题。解决方案之一是添加“Dropout”。我在这里使用 keras 代码
我想将 Dropout 添加到最后一层,但我不知道如何添加。
谁能帮助我应该更改哪个文件?如何更改?
我正在使用 RetinaNet NN 模型进行对象检测,但遇到过拟合问题。解决方案之一是添加“Dropout”。我在这里使用 keras 代码
我想将 Dropout 添加到最后一层,但我不知道如何添加。
谁能帮助我应该更改哪个文件?如何更改?
一段时间后,我尝试了很多解决方案,但没有一个没有说具体如何添加,所以我尝试了然后找到了如何添加,所以决定自己回答!
只需要添加这样的一行:
outputs = keras.layers.SpatialDropout1D (rate=dropout_rate) (outputs)
您可以使用其他图层 dropout 类型,例如 :
SpatialDropout2D
等等。
您可以尝试将全连接层存储到一个变量中,例如:
fc1 = model.layers[-3]
fc2 = model.layers[-2]
predictions = model.layers[-1]
然后创建您的 dropout 层并重新连接它们以构建一个新模型,如本文所示:在 keras 中的预训练密集层之间添加 dropout 层
希望这可以帮助。