作者HeterCompute (異質運算)
看板DataScience
標題[問題] TensorFlow如何降低RAM佔用量
時間Fri Apr 12 18:07:12 2019
作業系統:(ex:mac,win10,win8,win7,linux,etc...)
Ubuntu 17
問題類別:(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...)
RL
使用工具:(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...)
tensorflow
問題內容:
如題,怎麼降低tensorflow的RAM佔用量?
最近移植到一個朋友的機器上做,
但他只有32GB,很容易突然就超過RAM的上限。
有沒有什麼參數可以調整?
我調整了worker 從14降到4 和 shuffle siz從2^20降成2^19,
但都沒有什麼顯著效果,
有沒有什麼方法可以RAM的使用?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 150.117.252.77
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1555063634.A.5B5.html
1F:→ sxy67230: 資料是什麼類型?佔記憶體的通常都是資料,batch size開 04/12 19:26
2F:→ sxy67230: 到多少?suffle size是打亂數據的大小吧?跟記憶體沒什 04/12 19:26
3F:→ sxy67230: 麼關係 04/12 19:26
4F:→ sxy67230: 你的描述我大概只能猜到可能是你一次load一堆記憶體給你 04/12 19:34
5F:→ sxy67230: 的dataset,又沒有手動清除,導致python累積記憶體越來 04/12 19:34
6F:→ sxy67230: 越多又沒有釋放掉。tensorflow不太可能去佔你那麼多記 04/12 19:34
7F:→ sxy67230: 憶體,所以要檢查一下程式比較好 04/12 19:34
確實應該不是tensorflow的問題,我再看看其他部分
8F:→ zipigi: 如果dataset很大就用generator,ram不夠大只好將就點 04/12 21:11
就是generator爆掉的,但不知道怎麼改
9F:→ ice80712: 看一下tensorflow範例怎麼寫的吧 04/12 21:22
10F:→ sxy67230: generator 的問題可以檢查看看先不進去訓練,用next生 04/12 22:27
11F:→ sxy67230: 成資料,如果generator 是寫對的,那內部的array消耗記 04/12 22:27
12F:→ sxy67230: 憶體都會是固定的。如果是有增加,那代表有某一個array 04/12 22:27
13F:→ sxy67230: 一直在new或是size一直變大 04/12 22:27
14F:→ ice80712: 如果是queue的形式 記憶體是固定的 04/12 23:11
15F:推 jasonwu23: subdivision? 你是在跑什麼要講 不然怎麼猜 04/13 06:55
https://reurl.cc/9nDDn
長這個樣子
※ 編輯: HeterCompute (150.117.252.77), 04/13/2019 09:22:03
16F:推 Angesi: 你先開一下tensorboard 觀察一下 找滿足下列的node 04/15 08:38
17F:→ Angesi: 這個node已先計算完 在等別的node計算完才能繼續做之後 04/15 08:39
18F:→ Angesi: 的運算。這時,這個node就會存在memory中佔用,直到另一個 04/15 08:40
19F:→ Angesi: node計算完 才會往下走。 04/15 08:40
20F:→ Angesi: 解決方法:設定計算的優先順序 04/15 08:41
21F:→ Angesi: tensorflow的文件看一下 應該會有 04/15 08:43
22F:→ CaptPlanet: Batch size 04/16 18:44