keras.models.load_model导入时间过长



我有一个python项目,我在其中导入keras.models.load_model:

from keras.models import load_model

这导致我的项目在3到4秒内启动,我如何减少导入时间?

基于本文中的基准测试,保存权重的格式会影响模型实例化和加载保存权重的速度。

似乎.h5格式比SavedModel格式快。然而,如果速度真的对你的项目功能至关重要,那么你可能想考虑采取其中一个步骤,尽管它肯定涉及一些工作:

  1. 降低模型的精度
  2. 通过修剪权重来减小模型大小
  3. 使用TensorFlow lite(但是请注意,有些模型不受支持(

同意@evantkchong的意见。

h5格式是SavedModel的轻量级替代方案。由于它重量轻,所以加载速度比SavedModeltf格式快。然而,也存在一些需要考虑的局限性。

如果您的模型很简单,保存为h5格式并加载它是更好的选择。但是,如果您有复杂的自定义模型,那么SavedModel/tf格式更好。

以下来自Tensorflow网站

  • 外部损失&通过model.add_loss((&model.add_metric((未保存(与SavedModel不同(。如果你有这样的损失&如果你想继续训练需要在加载模型后将这些损失添加回来。笔记这不适用于通过self.add_loss((&self.add_metric((。只要加载了层,这些损失&度量被保留,因为它们是调用的一部分层的方法
  • 自定义对象的计算图,例如保存的文件中不包括自定义图层。在装载时,Keras将需要访问这些Python类/函数对象,以便重建模型。请参见自定义对象

最新更新