【发布时间】: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 解释器占用了我在输出中看到的最多的内存,我只是不确定他是否需要它们。