keras load model时出现Missing Layer错误的解决方式

 更新时间:2020年06月11日 09:28:17   作者:动力橙CHT  
这篇文章主要介绍了keras load model时出现Missing Layer错误的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题描述:训练结束后,保存model为hdf5和yaml格式的文件

yamlFilename = os.path.join(dir,filename)
yamlModel = model.toyaml()
with open(yamlFilename, "w") as yamlFile:
 yamlFile.write(yamlModel)

随后load model

with open(chkptFilename,'r') as f:
 model_yaml = f.read()
model = KM.model_from_yaml(model_yaml,customs_objects={"dict":dict})
model.load_weights(weightFilename)

但是报错

问题分析:

经过debug分析,原因出在model建立过程中前面lambda层的inbound_node列表中含有后面层,因此从上到下load时,会找不到后面层。重新建立一次model,然后用model.summary() 可以看出其中的原因。

出现这种情况,可能的原因在于,该lambda层在其他py文件中定义,然后import进来,前后多次用到这个lambda层的话,在模型编译过程中,该lambda层可能只编译了一次,前后层共用之,导致后面层结点出现在前面层的inbound_node列表中。

解决办法:

不要在其他py文件中自定义lambda层,直接将其定义在model建立的文件中。或者直接继承Layer层,在其他py文件中重新自定义该层。

补充知识:加载keras模型'tf' is not defined on load_model() - using lambda NameError: name 'tf' is not defined报错

解决方法如下:

import tensorflow as tf
import keras
model = keras.models.load_model('my_model.h5', custom_objects={'tf': tf})

以上这篇keras load model时出现Missing Layer错误的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pandas实现to_sql将DataFrame保存到数据库中

    pandas实现to_sql将DataFrame保存到数据库中

    这篇文章主要介绍了pandas实现to_sql将DataFrame保存到数据库中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python本地文件服务器实例教程

    python本地文件服务器实例教程

    这篇文章主要给大家介绍了关于python本地文件服务器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 用python3 urllib破解有道翻译反爬虫机制详解

    用python3 urllib破解有道翻译反爬虫机制详解

    这篇文章主要介绍了python破解网易反爬虫机制详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python学习之yaml文件的读取详解

    Python学习之yaml文件的读取详解

    yaml其实也类似于 json、txt ,它们都属于一种文本格式。在我们的实际工作中, yaml 文件经常作为服务期配置文件来使用。本文将为大家介绍一些Python读取yaml文件的方法,需要的可以参考一下
    2022-03-03
  • Python3+Django get/post请求实现教程详解

    Python3+Django get/post请求实现教程详解

    这篇文章主要介绍了Python3+Django get/post请求实现教程详解,需要的朋友可以参考下
    2021-02-02
  • Django数据映射(一对一,一对多,多对多)

    Django数据映射(一对一,一对多,多对多)

    本文主要介绍了Django数据映射(一对一,一对多,多对多),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 3分钟看懂Python后端必须知道的Django的信号机制

    3分钟看懂Python后端必须知道的Django的信号机制

    这篇文章主要介绍了3分钟看懂Python后端必须知道的Django的信号机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python遍历指定文件及文件夹的方法

    Python遍历指定文件及文件夹的方法

    这篇文章主要介绍了Python遍历指定文件及文件夹的方法,对比两种实现技巧分析了Python遍历文件及文件夹的方法,需要的朋友可以参考下
    2015-05-05
  • 聊聊pytorch中Optimizer与optimizer.step()的用法

    聊聊pytorch中Optimizer与optimizer.step()的用法

    这篇文章主要介绍了pytorch中Optimizer与optimizer.step()的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python实现视频转换为字符画详解

    Python实现视频转换为字符画详解

    这篇文章主要介绍了如何通过Python实现读取视频并将其转换为字符画的示例代码,文中讲解详细,对我们的学习和工作有一点的价值,感兴趣的小伙伴可以了解一下
    2021-12-12

最新评论