1.Dice loss
添加方法是在模型的代码页添加下列代码
def dice_coef(y_true, y_pred):
y_true_f = K.flatten(y_true)
y_pred = K.cast(y_pred, 'float32')
y_pred_f = K.cast(K.greater(K.flatten(y_pred), 0.5), 'float32')
intersection = y_true_f * y_pred_f
score = 2. * K.sum(intersection) / (K.sum(y_true_f) + K.sum(y_pred_f))
return score
def dice_loss(y_true, y_pred):
smooth = 1.
y_true_f = K.flatten(y_true)
y_pred_f = K.flatten(y_pred)
intersection = y_true_f * y_pred_f
score = (2. * K.sum(intersection) + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)
return 1. - score
使用的话参考下列代码
model.compile(optimizer=Nadam(lr=learning_rate), loss=dice_coef_loss, metrics=['accuracy'])
但这样还不够在加载模型测试的时候可能报错,这是在测试代码(test.py)页添加以下代码(mobilenetv3small是我的模型,从我