不同虚拟环境torch.cuda.is_available()返回False

背景:

今天在学bert的过程中,本着每一个项目都用虚拟环境隔开的原则,创建了新的conda环境,可是在新环境中,cuda却无法使用,切换其他环境torch.cuda.is_available()是可以正常True的。

原因分析:

使用conda list调出新环境、就环境的包版本

旧环境

新环境

可以看到,我们的新环境pytorch这边标识的是“cpu_……..”

我是用一下指令下载的,省略了-c及后面的(带-c pytorch会使用pytorch官方指定的源,国内下载较卡,而我此前已换清华源)

conda install pytorch torchvision torchaudio cudatoolkit=11.3 

不过前几天由于各种原因也搞过CPU版的pytorch,可能由于这个原因,conda install的时候首先考虑本地有没有缓存,而这个时候把CPU版的当缓存载入了新环境。

我们查看conda的缓存目录

将cpu的那个pytorch删除,再次安装,结果还是不行。

后来上网搜寻资料,觉得是清华源有问题。使用官方源下载

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

重新安装后,一切正常。

发表回复