8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

准确率瞬间提升,而骰子数量增加缓慢(U-Net)

dita 1月前

84 0

我正在训练一个用于 MR 图像脑部提取的模型。我使用 2D U-Net 架构和预训练的 EfficientNetV2B3。def dice_coefficients(y_true, y_pred, smooth=0): Intersection = K.sum(y_tr...

我正在训练一个用于 MRI 图像脑部提取的模型。我使用 2D U-Net 架构和预训练的 EfficientNetV2B3。

def dice_coefficients(y_true, y_pred, smooth=0):

    intersection = K.sum(y_true * y_pred)
    union = K.sum(y_true) + K.sum(y_pred)
    return (2 * intersection + smooth) / (union + smooth)


def dice_coefficients_loss(y_true, y_pred, smooth=0):
    return -dice_coefficients(y_true, y_pred, smooth)

def iou(y_true, y_pred, smooth=0):
    intersection = K.sum(y_true * y_pred)
    sum = K.sum(y_true + y_pred)
    iou = (intersection + smooth) / (sum - intersection + smooth)
    return iou


### COMPILE THE MODEL
opti = Adam(learning_rate=1e-4)
unet_model5.compile(optimizer=opti,
                  loss=dice_coefficients_loss,
                  metrics=["accuracy", iou, dice_coefficients])

# Early Stopping
early_stopping_unet = EarlyStopping(monitor='loss',
                                             patience=10)

# Learning Rate Adjustment
reduce_lr_unet = ReduceLROnPlateau(monitor='val_loss', factor=0.2,
                              patience=5, min_lr=1e-7)
model_history = unet_model5.fit(train_generator, batch_size = 16, epochs=200,validation_data=val_generator, callbacks = [early_stopping_unet, reduce_lr_unet])

Dice系数损失的演变:

Dice Coefficient Loss

骰子系数的演变:

Dice Coefficient

准确度的演变:

Accuracy

我的骰子和准确度值相当高,但我认为如果我能找出模型的问题(如果有的话)会更好。我尝试更改一些超参数,例如学习率、辍学率、层数。我无法将 batch_size 增加到高于 16,然后它会导致资源耗尽的错误,但我使用的是 3060 Ti,并且我确保 tensorflow 使用我的 gpu。我添加了 batchnorm,否则 val_accuracy 不会增加,出于某种我不明白的原因。如果你能解释一下就太好了。我还将我的预训练模型更改为其他模型,例如 VGG16、InceptionResNetV2,并相应地预处理输入,最后是 EfficientNetV2B3,它给出了最好的结果。(我也在使用早期停止并减少 lr 回调)

为什么准确率会迅速增加,而骰子系数却越来越慢?我怎样才能使准确率超过停留在 0.95 的水平?

帖子版权声明 1、本帖标题:准确率瞬间提升,而骰子数量增加缓慢(U-Net)
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由dita在本站《python》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 感谢更新,这确实很有帮助!由此,我尝试自己回答我的问题:我从您的代码中推断出您实际上正在使用 Keras。Keras 会自动将“准确率”关键字映射到三个指标之一。对于您来说,我猜(我对 Keras 不太熟悉),这应该是

返回
作者最近主题: