【问题标题】:Adding Dropout Layers to U_Net Segmentation_Models向 U_Net Segmentation_Models 添加 Dropout 层
【发布时间】:2021-12-12 01:41:06
【问题描述】:

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

谢谢

【问题讨论】:

    标签: python image keras image-segmentation dropout


    【解决方案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)
    

    【讨论】:

    • 谢谢。 .我正在构建自己的 Unet,而不是使用 TF 中已经构建的 Unet。那么我可以在任何图层之后添加它吗?并在编码器和解码器中?
    猜你喜欢
    • 2021-12-12
    • 2021-03-27
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2018-02-25
    • 1970-01-01
    相关资源
    最近更新 更多