CNN图像分割-火车损失减少,但Val损失不变吗?

时间:2019-02-21 13:17:26

标签: python tensorflow keras conv-neural-network image-segmentation

我的U-Net train_dice_loss正在减少,但val_dice_loss仍为0.4。网络似乎过拟合,但是val_dice_loss不应在某个时候增加吗?

Tensorboard after 600th Epoch

该网络基于Carvana细分比赛(Colab Carvana Segmentation)。我使用相同的模型,目标函数和数据增强管道,但是数据却少得多(〜1900 Images为256x256px)。我将数据分为训练,验证和测试集。在测试集上,我的模型预测得很好(平均dice_coeff 0.75),但我无法解释该图。

其他信息:

def dice_coeff(y_true, y_pred):
 smooth = 1.
 # Flatten
 y_true_f = tf.reshape(y_true, [-1])
 y_pred_f = tf.reshape(y_pred, [-1])
 intersection = tf.reduce_sum(y_true_f * y_pred_f)
 score = (2. * intersection + smooth) / (tf.reduce_sum(y_true_f) + 
 tf.reduce_sum(y_pred_f) + smooth)
return score

def dice_loss(y_true, y_pred):
 loss = 1 - dice_coeff(y_true, y_pred)
 return loss

def bce_dice_loss(y_true, y_pred):
 loss = losses.binary_crossentropy(y_true, y_pred) + dice_loss(y_true, y_pred)
 return loss

我还尝试了不同的Splits和Keras Optimizer。它总是以〜0.4结尾。

0 个答案:

没有答案