tensorflow Keras载荷模型权重

mrfwxfqh  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(194)

我最近保存了一些我在另一台机器上训练过的模型,并没有像我在其他模型中看到的那样保存它,使用h5扩展。我还不知道如何加载权重。我可以加载模型,但没有权重意味着什么。请帮助:-)

from keras.models import load_model
from keras.models import model_from_json

​
model_LSTM_rendimiento = keras.models
model_LSTM_super = keras.models
model_LSTM_primero = keras.models

model_LSTM_rendimiento.load_model('../model_LSTM_rendimiento')
model_LSTM_super.load_model('../model_LSTM_super')
model_LSTM_primero.load_model('../model_LSTM_primero')

model_LSTM_primero.load_weights('../model_LSTM_primero_weights')

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_186379/3422008780.py in <module>
     12 # model_LSTM_super.load_weights('../model_LSTM_super_weights')
     13 model_LSTM_primero.load_model('../model_LSTM_primero')
---> 14 model_LSTM_primero.load_weights('../model_LSTM_primero_weights')

AttributeError: module 'keras.models' has no attribute 'load_weights'
fnx2tebb

fnx2tebb1#

由于您没有以h5格式保存模型,我假设您使用了SavedModel格式,如下所示:

model.save('path/to/location')

如果这就是您所做的,那么像这样加载模型就足够了:

model = keras.models.load_model('path/to/location')

您不必单独加载砝码;从SavedModel文档中:
SavedModel是一种更全面的保存格式,可保存模型架构、权重和调用函数的跟踪Tensorflow子图。这使Keras能够恢复内置层和自定义对象。
您的代码:

from tensorflow import keras

model_LSTM_rendimiento = keras.models.load_model('../model_LSTM_rendimiento')
model_LSTM_super = keras.models.load_model('../model_LSTM_super')
model_LSTM_primero = keras.models.load_model('../model_LSTM_primero')

相关问题