zoukankan      html  css  js  c++  java
  • keras训练cnn模型时loss为nan

    keras训练cnn模型时loss为nan

        1.首先记下来如何解决这个问题的:由于我代码中 model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

    即损失函数用的是categorical_crossentropy所以,在pycharm中双击shift键,寻找该函数,会出现keras.loss模块中有该函数,进入该函数后,

    原函数为:

    def categorical_crossentropy(y_true, y_pred):
    return K.categorical_crossentropy(y_true, y_pred)

    修改为:
    def categorical_crossentropy(y_true, y_pred):
    return K.categorical_crossentropy(y_true, y_pred+1e-5)
    网上很多都是tensorflow的解决方案,找了好久好久才在一篇博客的启发下,想着去找这个损失函数。https://www.cnblogs.com/hutao722/p/9761387.html

    2.另外是为什么会出现这种现象(当然还会有其他可能,这里只记下我这种问题出现的原因)

    我这里是在计算损失函数时求log的时候遇到了log(0)则会导致nan

  • 相关阅读:
    基本排序
    mysql安装
    函数和方法
    COOKIE 与 SESSION
    django---入门
    django模板继承
    2017-11-14
    Django---模板层(template)
    Dajngo---model基础
    Django--基础篇
  • 原文地址:https://www.cnblogs.com/kjkj/p/10528259.html
Copyright © 2011-2022 走看看