在 Colaboratory 中,CUDA 不能用于火炬

Posted

技术标签:

【中文标题】在 Colaboratory 中,CUDA 不能用于火炬【英文标题】:In Colaboratory, CUDA cannot be used for the torch 【发布时间】:2019-08-17 12:45:05 【问题描述】:

报错信息如下:

RuntimeError   Traceback (most recent call last)
<ipython-input-24-06e96beb03a5> in <module>()
     11
     12 x_test = np.array(test_features)
---> 13 x_test_cuda = torch.tensor(x_test, dtype=torch.float).cuda()
     14 test = torch.utils.data.TensorDataset(x_test_cuda)
     15 test_loader = torch.utils.data.DataLoader(test, batch_size=batch_size, shuffle=False)

/usr/local/lib/python3.6/dist-packages/torch/cuda/__init__.py in _lazy_init()
    160 class CudaError(RuntimeError):
    161     def __init__(self, code):
--> 162         msg = cudart().cudaGetErrorString(code).decode('utf-8')
    163         super(CudaError, self).__init__('0 (1)'.format(msg, code))
    164

RuntimeError: cuda runtime error (38) : no CUDA-capable device is detected at /pytorch/aten/src/THC/THCGeneral.cpp:51

【问题讨论】:

你能澄清一下你到目前为止所做的尝试吗?确切的设置是什么,您的相关代码是什么? 您是否检查过您是否启用了 GPU 加速? 是的,我不打开这个 GPU!谢谢! “火炬”,你的意思是PyTorch吗? “Torch”的标签 wiki 说 “Torch 是 LuaJIT 的科学计算框架。它被世界各地的机器学习研究人员广泛使用。”. 【参考方案1】:

点击运行时并选择更改运行时类型

现在在 Hardware Acceleration 中,选择 GPU 并点击 Save

【讨论】:

实际拼写是"Change runtime type"吗? @PeterMortensen 是的【参考方案2】:

有时即使在执行以下停止后,也可能会发生此错误。其背后的原因是您可能将 Colab 用于长时间的计算过程,而它不喜欢您使用这种方式。

您可以在此链接中查看原因和谷歌的解释: https://research.google.com/colaboratory/faq.html#usage-limits

【讨论】:

以上是关于在 Colaboratory 中,CUDA 不能用于火炬的主要内容,如果未能解决你的问题,请参考以下文章

从Google Colaboratory访问Google Team Drive中的数据

推荐一款非常好用的在线python编辑器——Colaboratory

Colaboratory:如何安装PyGame学习环境

虚拟机上不能使用CUDA

如何在colaboratory(colab研究)中改变字体大小?

如何在 Google Colaboratory 中使用 R?