2017-08-31 116 views
3

我使用model.load()加載keras中的模型,並發現第一個預測的計算時間比預測的時間長10倍以上,爲什麼會發生這種情況的任何想法或者使負載初始化第一預測週期加速的建議都將不勝感激。Keras需要很長時間才能進行第一次預測model.load()

我正在使用Tensorflow後端CPU處理。

感謝您的幫助, Denym

+0

你確定這是第一次預測花費這麼多時間,而不是加載? 「第一預測」是什麼意思?你是否多次運行'model.predict()'? – McLawrence

+0

我加載與model.load(保存的模型),然後建立數據集和運行model.predict(),則數據集被修改和另一個預測運行,則數據集被修改和另一個預測運行等。 model.load看起來很快就完成了,那麼第一次預測大約需要10倍的時間來產生一個預測,因爲每個預測都遵循預測。 – Denym

+0

你如何修改數據集?所有預測的大小相同的數據集都是? – McLawrence

回答

0

好了,所以我發現對我的作品的回答:

,如果你同時加載很多車型不使用keras model.load功能,節省你的結構是json/yaml,權重是.h5,並且按照keras的例子加載。

的model.load功能要快得多少於5款打交道時,但加載時間成倍增加更多的模型,你同時加載。

從json中加載和從.h5加載的重量是同時加載100個模型時的10倍,同時每個模型在加載結構和權重方法時有一些減速,它是線性的而不是指數的,這使得加載多個模型一次。

+0

您在這裏談論的模型加載時間,但首先你抱怨.predict時間......我在我的情況下,與單一的模式問,因爲,到model.predict第一次調用花費〜5秒,然後其他調用預測大約需要0.9秒...我想知道你是否找到了解決方案? –

相關問題