最近一段时间在研究PyTorch中的GPU的使用方法,之前曾经安装过CUDA,不过在PyTorch中调用CUDA时无法使用。考虑到是版本不兼容问题,卸载后尝试了其他的版本,依旧没有能解决问题,指导查阅了很多资料后才找到了解决方案。
这里假设您使用的是Nvidia显卡并且您已经安装了conda,并在conda在创建了一个环境,在环境中已经安装PyTorch相关包等,conda在深度学习研究中能够很好的解决一些Python之间的版本兼容问题。
我们先输入以下命令查看相关信息:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)
得到信息如下:
2.3.1+CPU
False
None
表示目前无可用GPU,我们需要重新安装正确版本的CUDA,确保GPU能够正常使用
这里要记住PyTorch版本是2.3.1(以自己安装的Pytorch为准),后面需要用到
1、卸载之前安装的CUDA(如未安装则跳过)
CUDA安装时一般有很多组件在同一时间安装,卸载时注意卸载干净,防止之后安装出现报错
2、查看GPU驱动相关信息
GPU驱动一般在最初装机时已经安装好,只需查看其版本号,之后安装CUDA的版本号<=GPU驱动版本号
在Python中输入
!nvidia-smi
查看相关信息
可以看到 CUDA Version 12.5 之后安装的CUDA版本要<=12.5,避免出现不兼容问题
其他信息如下所示:
3、查询兼容的CUDA
我们访问PyTorch官网:Previous PyTorch Versions | PyTorch
根据我们的PyTorch版本号查询对应的CUDA,我的是V2.3.1
可以看到 PyTorch v2.3.1支持CUDA 11.8 和 12.1,这里我选择11.8
在安装前,现在Conda中执行 安装11.8所需的python包
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia
如安装失败,请考虑降低Python版本并重新安装或者无视即可
4、下载并安装CUDA
我们访问:https://developer.nvidia.com/cuda-toolkit-archive
查询CUDA历史版本
选择CUDA 11.8,下载即可
安装CUDA
安装一般选择精简模式即可,其余随意
安装完成后在cmd中输入NVCC -V 查看安装情况
可以看到 CUDA 11.8成功安装到电脑上
5、查看GPU是否可用
在Python中再次输入以下命令,查看GPU情况
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)
可以看到GPU可以正常使用了!
6、使用时产生的一些问题
在进行深度学习研究时,经常要安装一些python包,例如:pytorch,mxnet,d2l等,使用conda或pip下载时经常报错,这种情况往往是python版本太高导致的,请尝试降低python版本或者去官网上查询所下载包对应的最高python版本。python降级后,一些包的版本也可能会随之降级,进而需要CUDA重新安装选择正确的版本。