【发布时间】:2018-07-22 20:13:43
【问题描述】:
更新:此问题与 Google Colab 的“笔记本设置:硬件加速器:GPU”有关。此问题是在添加“TPU”选项之前编写的。
阅读了多个关于 Google Colaboratory 提供免费 Tesla K80 GPU 的激动人心的公告,我尝试在其上运行 fast.ai 课程,因为它永远不会完成 - 很快就会耗尽内存。我开始调查原因。
归根结底,“免费 Tesla K80”并不是对所有人都“免费”——对某些人来说,只有一小部分是“免费”的。
我从加拿大西海岸连接到 Google Colab,但我只获得了 0.5GB 的本来应该是 24GB 的 GPU RAM。其他用户可以使用 11GB 的 GPU RAM。
显然,对于大多数 ML/DL 工作来说,0.5GB GPU RAM 是不够的。
如果你不确定你得到了什么,这里是我拼凑的小调试功能(仅适用于笔记本的 GPU 设置):
# memory footprint support libraries/code
!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi
!pip install gputil
!pip install psutil
!pip install humanize
import psutil
import humanize
import os
import GPUtil as GPU
GPUs = GPU.getGPUs()
# XXX: only one GPU on Colab and isn’t guaranteed
gpu = GPUs[0]
def printm():
process = psutil.Process(os.getpid())
print("Gen RAM Free: " + humanize.naturalsize( psutil.virtual_memory().available ), " | Proc size: " + humanize.naturalsize( process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
printm()
在运行任何其他代码之前在 jupyter notebook 中执行它会给我:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 566MB | Used: 10873MB | Util 95% | Total 11439MB
获得完整卡的幸运用户将看到:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MB
GPU RAM Free: 11439MB | Used: 0MB | Util 0% | Total 11439MB
您在我从 GPUtil 借用的 GPU RAM 可用性计算中发现任何缺陷吗?
如果您在 Google Colab 笔记本上运行此代码,您能否确认您得到了类似的结果?
如果我的计算是正确的,有什么方法可以在空闲盒子上获得更多的 GPU RAM?
更新:我不确定为什么我们中的一些人得到的只是其他用户的 1/20。例如帮助我调试的人来自印度,他得到了全部!
注意:请不要再发送任何关于如何杀死可能会消耗部分 GPU 的潜在卡住/失控/并行笔记本的建议。不管你如何分割它,如果你和我在同一条船上运行调试代码,你会发现你仍然可以获得总共 5% 的 GPU RAM(截至本次更新仍然如此)。
【问题讨论】:
-
有什么解决办法吗?为什么我在做 !cat /proc/meminfo 时会得到不同的结果
-
是的,同样的问题,大约 500 mb 的 GPU 内存...误导性描述 :(
-
试试 IBM 开源数据科学工具 (cognitiveclass.ai),因为他们还有一个带有 jupyter notebooks 的免费 GPU。
-
我已将此问题回滚到其中实际上存在 question 的状态。如果您进行了更多研究并找到了答案,那么在答案框中是合适的位置。用解决方案更新问题是不正确的。
-
@ChrisHayes,我理解你的意图,但这是不对的,因为你的回滚删除了一大堆相关细节,这些细节现在已经消失了。如果您想提出更符合该社区规则的更好措辞,请这样做,否则请恢复您的回滚。谢谢你。 p.s.我已经发布了answer。
标签: python machine-learning gpu ram google-colaboratory