Emy Ibrahim
Emy Ibrahim

Reputation: 33

Adding Dropout Layers to U_Net Segmentation_Models

I am using U_Net segmentation model for medical images segmentation with Keras and Tensorflow 2. I'd like to add a dropout layer to the model, but I don't know where to add it?

Upvotes: 2

Views: 4622

Answers (1)

Faisal Shahbaz
Faisal Shahbaz

Reputation: 528

Yes there isn't dropout layers in the implementation of unet, but you can use regularizers

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

you can also try data augmentation. But if it is necessary to add dropout you can stop after some layers and add after it the dropout layers you want like this:

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)

Upvotes: 3

Related Questions