【发布时间】:2020-06-24 18:52:47
【问题描述】:
我在 Ubuntu 19.10 机器上(带有 KDE 桌面环境),配备 8GB RAM、i5 8250u 和 MX130 gpu(2GB VRAM),运行带有 tensorflow-gpu 的 Jupyter Notebook。
我只是在训练一些模型来测试它们的内存使用情况,而我看不到任何意义。我在训练期间使用 KSysGUARD 和 NVIDIA System Monitor (https://github.com/congard/nvidia-system-monitor) 来监控我的系统。
当我在 NVIDIA S.M. 上点击“火车”时显示内存使用率为 100%(或接近 100%,如 95/97%),GPU 使用情况良好。
总是在 NVIDIA S.M. 中,我查看进程列表,“python”仅占用大约 60MB 的 vram 空间。
在 KSysGUARD 中,python 的内存使用量始终在 700mb 左右。
对此可能有一些解释,问题是 gpu 的内存使用率达到 90% 的模型具有字面上的 2 个神经元(当然是密集连接的 xD),就像具有 2 亿个参数的模型一样。我使用的批量大小为 128。
我想了一下这个乱七八糟的东西,如果我没记错的话,一个2亿参数的模型应该占用200000000*4bytes*128字节,应该是1024gb。 这意味着我肯定在某些事情上错了,但是我太无私了,无法为我保留这个谜语,所以我决定给你机会来解决这个问题;D
PS:英语不是我的主要语言。
【问题讨论】:
标签: deep-learning tensorflow gpu memory