作者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/cn.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