91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決基于Keras循環訓練模型跑數據時內存泄漏問題

發布時間:2020-07-17 10:12:16 來源:億速云 閱讀:855 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了如何解決基于Keras循環訓練模型跑數據時內存泄漏問題,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

在使用完模型之后,添加這兩行代碼即可清空之前model占用的內存:

import tensorflow as tf
from keras import backend as K
 
K.clear_session()
tf.reset_default_graph()

補充知識:keras 多個模型測試階段速度越來越慢問題的解決方法

問題描述

在實際應用或比賽中,經常會用到交叉驗證(10倍或5倍)來提高泛化能力,這樣在預測時需要加載多個模型。常用的方法為

mods = []
  from keras.utils.generic_utils import CustomObjectScope
  with CustomObjectScope({}):
    for model_file in tqdm.tqdm(model_files):
      mod = keras.models.load_model(model_file)
      mods.append(mod)
  return mods

使用這種方式時會發現,剛開始模型加載速度很快,但隨著加載的模型數量增多,加載速度越來越慢,甚至延長了3倍以上。那么為什么會出現這種現象呢?

原因

由于tensorflow的圖是靜態圖,但是如果直接加在不同的圖(即不同的模型),應該都會存在內存中,原有的圖并不會釋放,因此造成了測試速度越來越慢。

解決方案

知道了原因,解決方案也就有了:每加載一個模型就對所有測試數據進行評估,同時在每次加載模型前,對當前session進行重置。keras的tf后臺提供了clear_session方法來清除session

  import keras.backend.tensorflow_backend as KTF
  KTF.clear_session()
  session = tf.Session(config=config)
  KTF.set_session(session)

  with CustomObjectScope({}):
    model = keras.models.load_model(model_file)
  return model

以上就是關于如何解決基于Keras循環訓練模型跑數據時內存泄漏問題的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高平市| 琼结县| 武义县| 泗洪县| 大足县| 通许县| 黄冈市| 宁武县| 临邑县| 衡东县| 宁陵县| 兴义市| 江津市| 莲花县| 汪清县| 石嘴山市| 阳原县| 昭通市| 珠海市| 桦甸市| 抚顺县| 龙里县| 大余县| 察隅县| 马鞍山市| 资阳市| 军事| 建德市| 利辛县| 瓮安县| 临夏县| 巴里| 平罗县| 偏关县| 迁安市| 临邑县| 封丘县| 中方县| 胶南市| 门源| 郯城县|