在python字典中高效地加载多个Keras模型

2024-06-25 22:46:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大约120个模型训练和存储在多个文件夹。我正在尝试将这些模型加载到一个字典中,以便对它们的用例进行特定的预测。在

但问题是,由于字典变得太大,加载这些模型和预测输出都需要时间。在

有没有比python字典更有效地加载这些模型的方法?我甚至尝试将这120个模型加载到12个不同的字典中,但仍然需要花费大量的时间来加载和预测。在

但问题是,由于字典变得太大,加载这些模型和预测输出都需要时间。在

model = {}
for _ in tqdm(os.listdir("wts_deep")):
    try:
        int(_[0])
        list_of_models = os.listdir("wts_deep/"+_)
        a = np.array([float(___.split("-")[3].split(".hdf5")[0]) for ___ in list_of_models])
        __ = np.where(a == a.max())[-1][-1]
        model[_] = load_model("wts_deep/"+str(_)+"/"+str(list_of_models[__]))
    except:
        print(_)

装载模型本身需要大约33分钟


Tags: ofin模型formodel字典osmodels
2条回答

我建议只保存模型权重,重新构建模型架构并加载权重。 我也认为慢不是因为字典的使用。我认为它与Keras和/或运行模型的后端有关。 如果您使用的是Tensorflow,那么如果您试图用相同的会话和图形加载模型,可能会遇到一些问题。在

词典太大几乎肯定不是问题所在。由于字典是哈希映射,加载模型的时间复杂度应该是O(1)。问题是keras装载模型或其他地方。{{1>通常也不需要使用变量。在

相关问题 更多 >