Keras 在 model.load() 之后花了很长时间做出第一次预测
Keras taking very long time to make first prediction following model.load()
我正在使用 model.load() 在 keras 中加载一个模型,我发现第一个预测的计算时间比后续预测长 10 倍以上,关于为什么会发生这种情况的任何想法或建议使加载初始化优先预测周期加速将不胜感激。
我正在使用带有 CPU 处理的 Tensorflow 后端。
感谢您的帮助,
否认
好的,所以我找到了适合我的答案:
如果您同时加载多个模型,请不要使用 keras model.load 函数,将您的结构保存为 json/yaml,将权重保存为 .h5,然后按照 keras 示例进行加载。
model.load 函数在处理少于 5 个模型时要快得多,但是加载时间会随着您同时加载的模型数量呈指数增长。
从 json 加载和从 .h5 加载权重在同时加载 100 个模型时快 10 倍,虽然在加载结构和权重方法时每个模型都有一些减速,但它是线性的而不是指数的,这使得它一次加载多个模型时速度明显加快。
我正在使用 model.load() 在 keras 中加载一个模型,我发现第一个预测的计算时间比后续预测长 10 倍以上,关于为什么会发生这种情况的任何想法或建议使加载初始化优先预测周期加速将不胜感激。
我正在使用带有 CPU 处理的 Tensorflow 后端。
感谢您的帮助, 否认
好的,所以我找到了适合我的答案:
如果您同时加载多个模型,请不要使用 keras model.load 函数,将您的结构保存为 json/yaml,将权重保存为 .h5,然后按照 keras 示例进行加载。
model.load 函数在处理少于 5 个模型时要快得多,但是加载时间会随着您同时加载的模型数量呈指数增长。
从 json 加载和从 .h5 加载权重在同时加载 100 个模型时快 10 倍,虽然在加载结构和权重方法时每个模型都有一些减速,但它是线性的而不是指数的,这使得它一次加载多个模型时速度明显加快。