TensorFlow Keras加载模型权重遇AttributeError问题求助
解决Keras模型加载权重报错:AttributeError: module 'keras.models' has no attribute 'load_weights'
修正后的代码
如果保存的是包含结构和权重的完整模型,直接加载即可:
from keras.models import load_model # 变量接收load_model返回的模型实例 model_LSTM_rendimiento = load_model('../model_LSTM_rendimiento') model_LSTM_super = load_model('../model_LSTM_super') model_LSTM_primero = load_model('../model_LSTM_primero')
如果是分开保存的模型结构和权重文件,按以下步骤加载:
from keras.models import model_from_json # 1. 先加载模型结构并生成模型实例 with open('../model_LSTM_primero_structure.json', 'r') as f: model_structure = f.read() model_LSTM_primero = model_from_json(model_structure) # 2. 给模型实例加载权重 model_LSTM_primero.load_weights('../model_LSTM_primero_weights')
问题说明
你之前的代码犯了核心错误:将模型变量赋值为keras.models模块本身,而非load_model()或model_from_json()返回的具体模型实例。keras.models是工具模块,不具备load_weights方法——这个方法是Keras模型对象的实例方法,只有模型实例才能调用。
内容的提问来源于stack exchange,提问作者Rodrigo Oviedo
相关产品推荐
相关产品推荐

