conda环境下使用torch.cuda.is_available()返回False的问题:
最近创建一个新的环境时候使用相同方法配置torch环境时候发现安装的torch无法识别cuda,找了很多资料后发现原来是Pytorch官网提供的conda/pip指令默认安装的torch库是cpu版的(即便选择的是cuda版本)
问题描述
本人运行环境是Windows11,python库管理软件是anaconda,安装的cuda Toolkit版本是11.8,cuda Tookit 的driver版本是12.1(请先确认是安装好的并且能被conda环境识别,可以使用)
可以在cmd中输入如下代码判断是否成功安装cudatoolkit的版本,如果返回版本号即为安装成功
nvcc --version
以及以下指令是在cmd中查看cudatoolkitdriver的版本,出现driver版本即为成功
nvidia-smi
以下是Pytorch官网默认的安装指令
根据上面指令安装torch后,使用代码torch.cuda.is_available()返回的是FALSE,即无法识别到cuda。
原因分析:
本人认为是Pytorch提供的安装指令安装的是cpu版本的库(即使选择的是cuda版本)
解决方案:
使用更加具体的指令指定安装的版本
pip install torch==2.0.0+cu118 torchvision==0.15.0+cu118 torchaudio==2.0.0+cu118 -f https://download.pytorch.org/whl/torch_stable.html
指令解释:这里使用cu118指定为自己的cudatookkit的版本,我的cuda版本是11.8,所以是118。并且指定和自己cudatoolkit版本匹配的torch,torchvision,torchaudio版本。
本人通过此方法成功的配置了conda环境,新环境可以识别到现在的cuda了。