向 U_Net Segmentation_Models 添加 Dropout 层

问题描述 投票:0回答:1

我正在使用 U_Net 分割模型通过 Keras 和 Tensorflow 2 进行医学图像分割。我想向模型添加一个 dropout 层,但我不知道在哪里添加它?

python image keras image-segmentation dropout
1个回答
1
投票

是的,unet 的实现中没有 dropout 层,但您可以使用正则化器

set_regularization(model, kernel_regularizer=keras.regularizers.l2(0.001),bias_regularizer=keras.regularizers.l2(0.001))

您还可以尝试数据增强。但如果需要添加 dropout,您可以在一些层之后停止,然后在其后添加您想要的 dropout 层,如下所示:

model = sm.Unet(......)
model_input = model.input
model_output = model.get_layer('final_conv').output (any layer you want)
#add dropout
model_output = keras.layers.Dropout(0.3)(model_output)
#add activation
output = keras.layers.Activation(activation, name=activation)(model_output)
model_dp = keras.models.Model(model_input, output)
© www.soinside.com 2019 - 2024. All rights reserved.