Deep learning TensorFlow奇怪的内存使用
我在一台Ubuntu19.10机器(带KDE桌面环境)上,有8GB内存、一个i5 8250u和一个MX130 gpu(2GB VRAM),运行一台带有tensorflow gpu的Jupyter笔记本电脑 我只是训练一些模型来测试它们的内存使用情况,我看不出我所看到的有任何意义。在培训期间,我使用KSysGUARD和NVIDIA系统监视器()来监视我的系统Deep learning TensorFlow奇怪的内存使用,deep-learning,tensorflow,gpu,memory,Deep Learning,Tensorflow,Gpu,Memory,我在一台Ubuntu19.10机器(带KDE桌面环境)上,有8GB内存、一个i5 8250u和一个MX130 gpu(2GB VRAM),运行一台带有tensorflow gpu的Jupyter笔记本电脑 我只是训练一些模型来测试它们的内存使用情况,我看不出我所看到的有任何意义。在培训期间,我使用KSysGUARD和NVIDIA系统监视器()来监视我的系统 当我点击“train”时,在NVIDIA S.M.上显示内存使用率为100%(或接近100%,如95/97%),GPU使用情况良好 我总是在
PS:英语不是我的主要语言。默认情况下,Tensorflow会在目标GPU中分配所有可用的VRAM。有一个叫做内存增长的实验特性,让你控制它,基本上停止了分配所有VRAM的初始化过程,并在需要时执行
好的,这意味着我所有的VRAM都被分配给了tensorflow,即使他使用了所有2GB中的1mb。这意味着,我的问题是tensorflow进程没有显示在系统监视器中,导致一个不在列表中的进程实际占用了所有内存。。。对吧?好吧,我发现了记忆是如何工作的。但有一件事我还不确定:我怎么能只在2GB的vram上训练这么大的模型(2.5亿个参数)?Tensorflow必须适应内存中的神经网络、数据等,所以你训练的模型仍然在2GB的vram限制内。@DennisOrlando如果我的帖子回答了你的问题,你可以接受它。