问题描述
在coding的时候我们经常在指定device的时候用这么一句代码:
device = 'cuda' if torch.cuda.is_available() else 'cpu'
但是有时候我们会发现device确实是放在了cpu上面,所以为了明确出错的原因,我们在shell里先import了torch,再执行torch.cuda.is_available()
,发现在返回False
结果之前给出了错误原因,其中部分内容就是我们在标题中写的。
问题原因
这种情况一般来说有两种原因
- gpu的计算能力过差
pytorch慢慢已经不支持cc(compute capability)小于3的gpu了,所以可以先查看一下自己的gpu的cc大小。但总的来说,这种情况出现的几率不大。 - cuda版本不兼容
这种情况通常是因为conda的虚拟环境中install的cudatoolk