我有大约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分钟
我建议只保存模型权重,重新构建模型架构并加载权重。 我也认为慢不是因为字典的使用。我认为它与Keras和/或运行模型的后端有关。 如果您使用的是Tensorflow,那么如果您试图用相同的会话和图形加载模型,可能会遇到一些问题。在
词典太大几乎肯定不是问题所在。由于字典是哈希映射,加载模型的时间复杂度应该是O(1)。问题是keras装载模型或其他地方。{{1>通常也不需要使用变量。在
相关问题 更多 >
编程相关推荐