簡體   English   中英

keras.models.load_model 導入時間過長

[英]keras.models.load_model takes too long to import

我有一個 python 項目,我在其中導入 keras.models.load_model:

from keras.models import load_model

這會導致我的項目在 3 到 4 秒內啟動,如何減少導入時間?

根據本文的基准,保存權重的格式會影響 model 實例化和加載保存的權重的速度。

似乎.h5格式比SavedModel格式更快。 但是,如果速度對於您的項目的 function 來說真的很重要,那么您可能需要考慮采取以下步驟之一,盡管它肯定涉及一些工作:

  1. 降低 model 的精度
  2. 通過修剪權重減小 model 大小
  3. 使用TensorFlow lite (但請注意,不支持某些型號)

同意@evantkchong。

h5格式是 SavedModel 的輕量級替代方案。 由於它重量輕,加載速度比SavedModeltf格式快。 但是,有一些重要的限制需要考慮。

如果您的 model 很簡單,則以h5格式保存並加載它是更好的選擇。 但是,如果您有復雜的自定義 model,那么SavedModel / tf格式會更好。

以下來自Tensorflow網站

  • 通過 model.add_loss() 和 model.add_metric() 添加的外部損失和指標不會保存(與 SavedModel 不同)。 如果您在 model 上有此類損失和指標,並且您想恢復訓練,則需要在加載 model 后自行添加這些損失。 請注意,這不適用於通過 self.add_loss() 和 self.add_metric() 在層內創建的損失/指標。 只要圖層被加載,這些損失和指標就會被保留,因為它們是圖層調用方法的一部分。
  • 自定義層等自定義對象的計算圖不包含在保存的文件中。 在加載時,Keras 將需要訪問這些對象的 Python 類/函數,以重建 model。 請參閱自定義對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM