当前位置: 首页 > 面试题库 >

在Keras中保存和加载权重

穆俊名
2023-03-14
问题内容

我正在尝试从我训练的模型中保存和加载权重。

我用来保存模型的代码是。

TensorBoard(log_dir='/output')
model.fit_generator(image_a_b_gen(batch_size), steps_per_epoch=1, epochs=1)
model.save_weights('model.hdf5')
model.save_weights('myModel.h5')

让我知道这是不正确的方法,还是有更好的方法。

但是当我尝试使用它们加载它们时,

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

但我得到这个错误:

ValueError                                Traceback (most recent call 
last)
<ipython-input-7-27d58dc8bb48> in <module>()
      1 from keras.models import load_model
----> 2 model = load_model('myModel.h5')

/home/decentmakeover2/anaconda3/lib/python3.5/site-
packages/keras/models.py in load_model(filepath, custom_objects, compile)
    235         model_config = f.attrs.get('model_config')
    236         if model_config is None:
--> 237             raise ValueError('No model found in config file.')
    238         model_config = json.loads(model_config.decode('utf-8'))
    239         model = model_from_config(model_config, 
custom_objects=custom_objects)

ValueError: No model found in config file.

关于我可能在做错的任何建议吗?先感谢您。


问题答案:

Keras提供了三种不同的保存方法。这些在上面(带有示例)以及下面的视频链接中进行了描述。

首先,收到错误的原因是因为您打错电话load_model

要保存和加载模型的权重,您首先需要使用

model.save_weights('my_model_weights.h5')

如显示的那样保存重量。要加载权重,您首先需要构建模型,然后调用load_weights模型,如

model.load_weights('my_model_weights.h5')

另一种节省技术是model.save(filepath)。此save功能保存:

  • 模型的体系结构,允许重新创建模型。
  • 模型的权重。
  • 训练配置(损失,优化器)。
  • 优化器的状态,可以从您上次中断的地方继续进行精确训练。

要加载此保存的模型,请使用以下命令:

from keras.models import load_model
new_model = load_model(filepath)'

最后,,model.to_json()仅保存模型的架构。要加载html" target="_blank">架构,您可以使用

from keras.models import model_from_json
model = model_from_json(json_string)


 类似资料:
  • 本文向大家介绍keras 权重保存和权重载入方式,包括了keras 权重保存和权重载入方式的使用技巧和注意事项,需要的朋友参考一下 如果需要全部权重载入,直接使用权重载入方式 model.save_weights('./weigths.h5') model2.load_weights('./weigths.h5') 但是有时候你只需要载入部分权重 所以你可以这样操作 首先,为所有层命名,在层中直接

  • 问题内容: 我正在尝试转学;为此,我想删除神经网络的最后两层并添加另外两层。这是一个示例代码,它也会输出相同的错误。 我使用删除了该图层,但是当我尝试添加其输出时出现此错误 AttributeError:“模型”对象没有属性“添加” 我知道该错误的最可能原因是不当使用。我应该使用其他什么语法? 编辑: 我试图在keras中删除/添加图层,但不允许在加载外部重物后添加它。 它显示此错误 问题答案:

  • 我想要的是在这一点上(当物体碰撞和游戏结束是真的),分数被保存,然后游戏结束场景被加载。我如何在游戏结束时保存分数,然后将其与保存的最高分一起加载到游戏结束场景中??

  • 译者 bruce1408 作者: Matthew Inkawhich 本文提供有关Pytorch模型保存和加载的各种用例的解决方案。您可以随意阅读整个文档,或者只是跳转到所需用例的代码部分。 当保存和加载模型时,有三个核心功能需要熟悉: torch.save: 将序列化对象保存到磁盘。 此函数使用 Python 的pickle模块进行序列化。使用此函数可以保存如模型、tensor、字典等各种对象。

  • 问题内容: 我有一堂课,为游戏中的玩家提供服务,创建他们以及其他东西。 我需要将这些播放器对象保存在文件中,以便以后使用。我已经尝试过pickle模块,但是我不知道如何保存多个对象并再次加载它们?有没有办法做到这一点,还是应该使用其他类(例如列表)并将对象保存并加载到列表中? 有没有更好的办法? 问题答案: 到目前为止,使用列表,元组或字典是最常见的方法: 打印: 但是,泡菜文件 可以 包含任意数

  • This tutorial describes how to save and load models in TensorFlow.js. Saving and loading of models is an important capability. For example, how do you save the weights of a model fine-tuned by data on