将 Dropout 层添加到 U_Net Segmentation_Models

Adding Dropout Layers to U_Net Segmentation_Models

我正在使用 U_Net 分割模型与 Kersa 和 Tensorflow 2 进行医学图像分割。我想向模型添加一个 dropout,但我不知道在哪里添加它? 谁能帮忙?

谢谢

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

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)