keras:导入load_model花费的时间太长

时间:2018-12-05 16:32:59

标签: python keras python-import

我正在尝试将Python项目放在闪存驱动器上。我正在使用WinPython完成此任务。我发现的一件事是Python程序中的某些操作要慢得多。这是有道理的,因为它在USB上。在导入语句期间,这一点特别明显。通常,我能够有选择地导入东西,并且大部分情况下东西还不错。

但是,我在项目中使用的是keras模型。为此,我要从load_model模块中使用keras.models加载我的hdf5文件。当我在WinPython上运行此程序时,需要十多分钟才能导入!如何减少此导入时间?

1 个答案:

答案 0 :(得分:0)

您可以将hdf5模型转换为json_file并将权重保存在h5文件中。在功能导入不那么缓慢的“普通”计算机上执行此操作。然后,在FlashDrive上的WinPython中,使用model_from_jsonload_weights函数可以加载模型。导入时间要快得多。它是这样的:

此脚本会将hdf5文件转换为json文件,并保存模型的权重。在可以处理导入的计算机上的python安装上运行此程序。

from keras.models import load_model

model = load_model("my_model.hdf5")
model_json = model.to_json()
with open("my_json_model.json", 'w') as json_file:
    json_file.write(model_json)

model.save_weights("weight_model.h5")

然后,要在WinPython中加载模型,请执行以下操作:

from keras.models import model_from_json

with open("my_json_model.json", 'r') as json_file:
    loaded_json = json_file.read()
emotion_classifier = model_from_json(loaded_json)
emotion_classifier.load_weights("weight_model.h5")

我发现在WinPython中此导入速度更快。 您可以了解有关以不同方式here.

加载keras模型的更多信息