当试图通过Keras加载模型时,我得到以下错误:
Traceback (most recent call last):
File "visualise.py", line 82, in <module>
model = tf.keras.models.load_model(CNN_MODEL_DIR)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/keras/engine/saving.py", line 251, in load_model
training_config['weighted_metrics'])
KeyError: 'weighted_metrics'我使用model.save("Models/ResNet.model")保存模型,使用model = tf.keras.models.load_model(CNN_MODEL_DIR)加载模型。
我正在训练这个模型的计算机有Keras 2.1.2,我想在它上测试的计算机(我的家用计算机)有Keras 2.2.4。有没有一种方法可以避免这个错误,而不对模型进行再培训或降级我的版本的Keras呢?
发布于 2018-11-23 02:03:05
我决定这个问题:
我用ResNet ()导入了from keras.applications.resnet50 import ResNet50模型,并简单地使用model.save()保存了它。因此,我的模型纯粹是与Keras相关的。因此,当我尝试用与Tensorflow相关的导入(即model = tf.keras.models.load_model(CNN_MODEL_DIR))加载它时,我得到了错误。
修复方法只是将导入更改为纯Keras。
model = keras.models.load_model(CNN_MODEL_DIR)
发布于 2020-09-28 04:14:34
使用compile=False作为参数可以很容易地解决您的问题。例如:
from tensorflow.keras.models import load_model
model = load_model('your_model', compile=False)实际上,问题的原因是因为一个bug,而Tensorflow在加载模型之后正在编译它,所以尝试这个param,我认为它应该解决您的问题。
https://stackoverflow.com/questions/53368717
复制相似问题