我定义了以下损失函数:
def dice_coef(y_true, y_pred):
y_pred = K.gather(y_pred, tf.where(y_pred>0.5))
y_true_f = K.flatten(y_true)
y_pred_f = K.flatten(y_pred)
intersect = K.sum(y_pred_f * y_true_f)
denominator = K.sum(y_pred_f) + K.sum(y_true_f)
dice_score = K.constant(2.) * intersect / (denominator + K.constant(.01))
return dice_score
由于我只希望y_pred为0和1s,所以我在stackoverflow上关注了一个建议使用y_pred = K.gather(y_pred, tf.where(y_pred>0.5))
的线程。但是,我得到了错误:
ResourceExhaustedError:分配具有形状的张量时发生OOM [662885,4,144,144,1]
是否解决了此问题?