更新:这个问题与Google Colab的“笔记本设置:硬件加速器:GPU”相关。此问题是在添加“TPU”选项之前编写的。
阅读了多个关于Google Colaboratory提供免费Tesla K80 GPU的兴奋公告后,我尝试在其上运行fast.ai课程,结果始终无法完成——很快就耗尽了内存。我开始调查原因。
结论是,“免费的Tesla K80”对所有人来说并非“免费”——对一些人来说,只有其中的一小部分是“免费”的。
我从加拿大西海岸连接到Google Colab,只能获得应该是24GB GPU RAM中的0.5GB。其他用户可以访问11GB的GPU RAM。
显然,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 humanizeimport psutilimport humanizeimport osimport GPUtil as GPUGPUs = GPU.getGPUs()# XXX: only one GPU on Colab and isn’t guaranteedgpu = 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笔记本中执行它,我得到的是:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MBGPU RAM Free: 566MB | Used: 10873MB | Util 95% | Total 11439MB
那些幸运地获得完整卡访问权限的用户将看到:
Gen RAM Free: 11.6 GB | Proc size: 666.0 MBGPU RAM Free: 11439MB | Used: 0MB | Util 0% | Total 11439MB
你是否发现我从GPUtil借用的GPU RAM可用性计算有任何错误?
你能确认如果你在Google Colab笔记本上运行这段代码是否得到类似的结果吗?
如果我的计算是正确的,有没有办法在免费的盒子上获得更多的GPU RAM?
更新:我不确定为什么我们中的一些人只能得到其他用户的1/20。例如,帮助我调试这个问题的人来自印度,他得到了全部!
注意:请不要再发送任何关于如何杀死可能正在消耗GPU部分资源的卡住/失控/并行笔记本的建议。不管你怎么切分,如果你和我一样,运行调试代码后你会发现你仍然只能得到5%的GPU RAM(截至此次更新仍然如此)。
回答:
为了防止再有十几个答案建议在本线程上下文中无效的建议,如使用!kill -9 -1,让我们关闭这个线程:
答案很简单:
截至本文撰写时,Google只给我们中的一些人提供了5%的GPU,而给其他人提供了100%。就这样。
2019年12月更新:问题仍然存在——这个问题继续获得支持票。
2019年3月更新:一年后,Google员工@AmiF对事情的现状发表了评论,称这个问题不存在,任何似乎有此问题的人只需重置他们的运行时即可恢复内存。然而,支持票继续增加,这对我来说表明,尽管@AmiF建议相反,但问题仍然存在。
2018年12月更新:我有一个理论,Google可能对某些账户或可能是浏览器指纹进行了黑名单,当其机器人检测到非标准行为时。这可能完全是巧合,但在一段时间内,我在任何需要Google Re-captcha的网站上都遇到了问题,我必须通过数十个谜题才能通过,通常需要10分钟以上才能完成。这持续了几个月。突然间,从这个月开始,我完全没有遇到谜题,任何Google Re-captcha只需一次鼠标点击就能解决,就像差不多一年前那样。
我为什么要讲这个故事?因为与此同时,我在Colab上获得了100%的GPU RAM。这就是为什么我怀疑,如果你在一个理论上的Google黑名单上,那么你不会被信任获得大量免费资源。我想知道你们中有没有人发现有限的GPU访问和Re-captcha噩梦之间的相同关联。正如我所说,这也可能完全是巧合。