首页 > 解决方案 > 如何修复“NameError: name 'load_model' is not defined”

问题描述

我正在阅读《Python 深度学习》这本书,但遇到了一个问题。我使用 Pycharm 将模型保存在另一个文件中,当我尝试通过函数“load_model()”加载它时,系统支持“NameError: name 'load_model' is not defined”。pycharm 2019.1.3 keras 2.2.4 tensorflow 1.13.0

from keras import models
model = load_model('cats_and_dogs_small_2.h5')

使用 TensorFlow 后端。回溯(最后一次调用):文件“F:/python program/visualizDemo/main.py”,第 2 行,在模型 = load_model('cats_and_dogs_small_2.h5') NameError: name 'load_model' is not defined

进程以退出代码 1 结束

标签: python-3.xtensorflowkeraspycharm

解决方案


您在这里缺少的是, load_model 函数位于模型类中,因此您必须引用模型类。

from keras import models    
model = models.load_model('filename.h5')

为了按照您的方式进行操作,您必须使用 import 如下

from keras.models import load_model

PS:下一行可能会在将来对您有所帮助。如果您尝试加载权重,请使用以下功能:

model.load_weight('weights_file.h5')

推荐阅读