btguijiyang 2019-05-05 14:51 采纳率: 100%
浏览 4270
已采纳

tensorflow自定义的损失函数 focal_loss出现inf,在训练过程中出现inf

图片说明

def focal_loss(alpha=0.25, gamma=2.):
    """ focal loss used for train positive/negative samples rate out 
    of balance, improve train performance
    """
    def focal_loss_calc(y_true, y_pred):
        positive = tf.where(tf.equal(y_true, 1), y_pred, tf.ones_like(y_pred))
        negative = tf.where(tf.equal(y_true, 0), y_pred, tf.zeros_like(y_pred))
        return -(alpha*K.pow(1.-positive, gamma)*K.log(positive) +
                       (1-alpha)*K.pow(negative, gamma)*K.log(1.-negative))
    return focal_loss_calc
self.keras_model.compile(optimizer=optimizer, loss=dice_focal_loss, metrics=[ mean_iou, dice_loss, focal_loss()])

上面的focal loss 开始还是挺正常的,随着训练过程逐渐减小大0.025左右,然后就突然变成inf。何解

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 检索带order by 非常慢
      • ¥20 python 爬虫 token 加密方式
      • ¥20 IAR环境报错reading CPU status failed
      • ¥15 数组问题,刚学C语言
      • ¥20 Python如何读取指定播放设备的音频帧?
      • ¥15 用dnspy修改游戏数据报错
      • ¥15 关于unity打包成webgl后页面上不显示服务端接收到的数据的问题
      • ¥16 (大一)有偿 想学会 excel数据处理和分析🥹
      • ¥15 matlab导入工具箱提示:此类型的变量不支持使用点进行索引错误
      • ¥20 用Java实现双向链表