看板 DataScience 關於我們 聯絡資訊
作業系統:(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://www.ptt.cc/bbs/DataScience/M.1555063634.A.5B5.html
sxy67230: 資料是什麼類型?佔記憶體的通常都是資料,batch size開 04/12 19:26
sxy67230: 到多少?suffle size是打亂數據的大小吧?跟記憶體沒什 04/12 19:26
sxy67230: 麼關係 04/12 19:26
sxy67230: 你的描述我大概只能猜到可能是你一次load一堆記憶體給你 04/12 19:34
sxy67230: 的dataset,又沒有手動清除,導致python累積記憶體越來 04/12 19:34
sxy67230: 越多又沒有釋放掉。tensorflow不太可能去佔你那麼多記 04/12 19:34
sxy67230: 憶體,所以要檢查一下程式比較好 04/12 19:34
確實應該不是tensorflow的問題,我再看看其他部分
zipigi: 如果dataset很大就用generator,ram不夠大只好將就點 04/12 21:11
就是generator爆掉的,但不知道怎麼改
ice80712: 看一下tensorflow範例怎麼寫的吧 04/12 21:22
sxy67230: generator 的問題可以檢查看看先不進去訓練,用next生 04/12 22:27
sxy67230: 成資料,如果generator 是寫對的,那內部的array消耗記 04/12 22:27
sxy67230: 憶體都會是固定的。如果是有增加,那代表有某一個array 04/12 22:27
sxy67230: 一直在new或是size一直變大 04/12 22:27
ice80712: 如果是queue的形式 記憶體是固定的 04/12 23:11
jasonwu23: subdivision? 你是在跑什麼要講 不然怎麼猜 04/13 06:55
https://reurl.cc/9nDDn 長這個樣子 ※ 編輯: HeterCompute (150.117.252.77), 04/13/2019 09:22:03
Angesi: 你先開一下tensorboard 觀察一下 找滿足下列的node 04/15 08:38
Angesi: 這個node已先計算完 在等別的node計算完才能繼續做之後 04/15 08:39
Angesi: 的運算。這時,這個node就會存在memory中佔用,直到另一個 04/15 08:40
Angesi: node計算完 才會往下走。 04/15 08:40
Angesi: 解決方法:設定計算的優先順序 04/15 08:41
Angesi: tensorflow的文件看一下 應該會有 04/15 08:43
CaptPlanet: Batch size 04/16 18:44