Google Colaboratory:关于其GPU的误导信息(一些用户只能使用5%的RAM)

更新:这个问题与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噩梦之间的相同关联。正如我所说,这也可能完全是巧合。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注