【问题标题】:GPU out of memory when initializing network初始化网络时 GPU 内存不足
【发布时间】:2019-04-24 18:17:30
【问题描述】:

我正在尝试初始化一个 CNN,然后将其放在我的 GPU 上进行训练。当我把它放在 GPU 上时,我得到了错误:(CUDA 错误:内存不足)。我运行过类似的网络,没有此类问题。这是 cuda 中唯一的东西,因为我还没有加载任何图像。关于出了什么问题的任何想法?

我在 GTX 1070ti 8GB 上使用 pytorch 0.4.1 版。

| NVIDIA-SMI 410.104      Driver Version: 410.104      CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 107...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   43C    P2    39W / 180W |   8024MiB /  8111MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1129      G   /usr/lib/xorg/Xorg                            36MiB |
|    0      1164      G   /usr/bin/gnome-shell                          57MiB |
|    0      1415      G   /usr/lib/xorg/Xorg                           200MiB |
|    0      1548      G   /usr/bin/gnome-shell                          90MiB |
|    0      6323      C   /usr/bin/python3                             525MiB |
|    0      9521      C   /usr/bin/python3                            1827MiB |
|    0     18821      C   /usr/bin/python3                            4883MiB |
|    0     27137      G   ...uest-channel-token=16389326112703159917    45MiB |
|    0     29161      C   /usr/bin/python3                             355MiB |

我尝试减小线性层的大小,但没有成功。


net = piccnn()
net.to(device)

【问题讨论】:

  • 你有任何正在运行的进程 nvida-smi 的输出是什么?你能杀死任何正在运行的东西吗?
  • 我将输出添加到 nvidia-smi
  • 也许可以尝试释放空间尝试 kill -9 1415 并尝试一下。我不确定它是否可以工作另外请确保您的 GPU 是最新的。我不是 GPU 方面的专家。也许它也可能是需要增加的 ram
  • @JoeA 为什么你会建议终止 X 服务器?这不是一个好建议!显然,消耗最多 GPU 内存的进程是 python 解释器,尤其是 18821、9521。
  • @Przemek 我只是不确定为什么他有两个 Xorg 服务器,这是我的想法。我仍在学习 GPU,但感谢您纠正我。 python 解释器占用了我在输出中看到的最多的内存,我只是不确定他是否需要它们。

标签: python pytorch


【解决方案1】:

当 GPU 驱动程序过期时,我曾经遇到过这个问题。我的 GPU 是 1070 4 gig。我建议重新安装驱动程序并重新启动。

【讨论】:

  • 我认为这个答案中唯一真正有帮助的部分是重启。从nvidia-smi 的输出可以清楚地看出,GPU 上仍有几个进程仍在占用内存。杀死它们可以解决问题,但重新启动也可以。
  • 嗨@NuWaan,如果它解决了你的问题,你能接受我的回答吗,谢谢。
猜你喜欢
  • 2020-11-12
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
  • 2018-07-10
  • 2020-12-22
  • 2019-04-15
  • 2016-09-20
相关资源
最近更新 更多