keras寫的卷積神經網路,為什麼每epoch訓練後,記憶體占用一直增長,直到溢位?

時間 2021-07-01 16:14:25

1樓:leon

我之前用pytorch時遇到過這種問題,原因是每個iteration的型別為tensor的loss都存了下來,loss裡面包含網路計算圖,所以每次iteration之後記憶體一直漲,後來只儲存loss的value就可以了。不知道keras是不是也有這種問題

2樓:ZW Huang

記憶體溢位的問題有粗暴的辦法解決,強制訓練1次退出,再次訓練載入之前模型引數接著搞就行。

但是從訓練日誌看,loss沒下降,準確率沒提公升。還是模型或者資料本身有問題。

3樓:Lanking

首先直接在epoch結束call python的gc看看情況有沒有好轉。之後的話檢查你的訓練集在用完後有沒有清理掉,沒清理的話會一直占用系統記憶體。tf內建的是reference counting系統,如果python外部還有reference暴露出來,底層的記憶體就清理不掉的。

4樓:臉雲

如果你在用 Theano 後端的話,看 Memory leak during model.fit() · Issue #5935 · fchollet/keras 最後幾條

5樓:bright

說明你的模型用錯了。

我用tf和k都沒碰到過這種情況。

聯絡:上k或tf官網找個cnn的例子,跑一跑,看一看。再根據已經需要再改一改。

卷積神經網路和BP神經網路的關係?

乙個維度的BP神經網路就相當於CNN中的全連線了,無非是多幾個全連線,CNN是二維,二維如果搞成全連線就導致運算量巨大,所以有了權重共享,大大減少了運算量,CNN卷積的思想肯定也源於BP神經網路就,在影象上做二維卷積的CNN發出炫目的光芒下,BP神經網路就已經快被人們遺忘了,但是不管CNN再怎麼發展...

卷積神經網路(CNN)和迴圈神經網路 RNN 有什麼區別?

不存在的1990 從字面區分 cnn 裡面的 c指 convolutional operation,是一種提取影象特徵方法。把這一operation加入到layer裡面構成了convolutional layer。rnn裡的r 指recurrent,中文是重複的意思。rnn構造的結構也是recurr...

什麼是卷積神經網路?

弗拉基公尺爾 神經網路可以理解為多元線性回歸。卷積神經網路可以理解為矩陣形式的多元線性回歸。不知道這樣理解對不對。那就這樣說應該不會有錯 卷積是乙個提取特徵的函式. 憤怒的葡萄 不請自來 首先artificial NNs的目的就是他們能夠被用作乙個任意函式逼近的方式,CNN也是一樣。CNN就是在原有...