首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载Keras模型KeyError:'weighted_metrics‘

加载Keras模型KeyError:'weighted_metrics‘
EN

Stack Overflow用户
提问于 2018-11-19 05:19:40
回答 2查看 3.1K关注 0票数 4

当试图通过Keras加载模型时,我得到以下错误:

代码语言:javascript
复制
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呢?

EN

回答 2

Stack Overflow用户

发布于 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)

票数 3
EN

Stack Overflow用户

发布于 2020-09-28 04:14:34

使用compile=False作为参数可以很容易地解决您的问题。例如:

代码语言:javascript
复制
from tensorflow.keras.models import load_model

model = load_model('your_model', compile=False)

实际上,问题的原因是因为一个bug,而Tensorflow在加载模型之后正在编译它,所以尝试这个param,我认为它应该解决您的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53368717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档