本文主要介绍了完美解决,anaconda配置新的深度学习环境时torch.cuda.is_available()一直返回False的玄学方法,具有很好的参考价值。
1.配置新的项目环境的环境 首先创建一个新环境,防止环境被污染。conda env list //查看所有conda环境 conda create -n your_env_name python=X.X #创建一个环境 source activate your_env_name //启动虚拟环境 conda install -n your_env_name [package] //在虚拟环境中安装依赖包 source deactivate //关闭conda环境 conda remove -n your_env_name(虚拟环境名称) --all //删除conda虚拟环境 conda remove --name your_env_name package_name //删除conda虚拟环境中的依赖 进入自己的环境以后,安装相应的包:如pytorch包等 pip install -r requirements.txt2. 解决PyTorch与CUDA版本不匹配的问题
表一:CUDA驱动及CUDA Toolkit最高对应版本
驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。
表二:CUDA Toolkit版本及可用PyTorch对应关系
虽有的卡驱动更新至较新版本,且CUDA Toolkit及PyTorch也可对应更新至新版本。但有的对应安装包无法使用,有可能是由于卡太旧的原因。
3. Pytorch安装指导 3.1 使用nvidia-smi查询驱动版本如图中Driver Version所示,该卡目前的驱动版本为450.1
3.2 安装CUDA Toolkit以及PyTorch查表选择合适的pytorch和cuda版本
conda install pytorch=1.7.0 torchvision torchaudio cudatoolkit=10.1 //此行代码就是pytorch官网上生成的,加了具体版本号,3.3 验证安装是否成功
#使用python运行 python import torch print(torch.__version__) print(torch.cuda.is_available()) #退出Python环境 quit()检查PyTorch版本
torch.version # PyTorch version torch.version.cuda # Corresponding CUDA version torch.backends.cudnn.version() # Corresponding cuDNN version torch.cuda.get_device_name(0) # GPU type



