美文网首页深度学习
keras load_model 时name error :xx

keras load_model 时name error :xx

作者: 京漂的小程序媛儿 | 来源:发表于2019-08-05 15:32 被阅读0次

    背景介绍

    用keras写了一个model,训练之后保存model;然后在另一个程序中使用改model进行结果预测。

    报错

    load_model时报错:xxx is not defined

    分析

    简单来说,就是load_model时报错:xxx is not defined,这个xxx可能是你在定义model时用到的变量、函数、或者layer等。最后一行显示了,我在定义model时用到了自定了函数slice_for_merge,这属于第三方对象,出现了undefine错误。

    解决方法

    方案来自keras官网

    custom_objects

    意思是说:在load_model()时,如果要加载的模型包含自定义层或其他自定义类或函数,则可以通过 custom_objects 参数将它们传递给加载机制,有上述两种方案。所以在load_model的时候,加一个custom_objects参数就可以了。

    比如说我的程序中,在load_model的这个python文件中,更改如下:

    from kerasimport backendas K

    from cnn_parse_tripletsimport slice_for_mergeas slice_for_merge

    model = load_model(model_path, custom_objects={'backend': K, 'slice_for_merge': slice_for_merge})

    类似的错误截图如下,解决方案同上。

    load_model时报错:xxx is not defined

    相关文章

      网友评论

        本文标题:keras load_model 时name error :xx

        本文链接:https://www.haomeiwen.com/subject/xiymdctx.html