Torch与CUDA不兼容问题解决方案

Torch与CUDA不兼容问题解决方案

近期需要训练一个Yolo模型,在本地配置Yolo环境遇到CUDA一直报错问题,记录解决方案。
问题原因
因为电脑的配置较差,安装的NVIDIA 驱动程序版本过旧,不管怎么更换pytorch版本与CUDA版本都带不起来,网上给的解决方案大多是要对其torch与CUDA版本,忽略了本身驱动的版本也要匹配,重新配置三四遍仍然是False,下面记录驱动、torch、CUDA三者对应的安装方案。

确定显卡并更新驱动

我的电脑显卡是NVIDIA Quadro K6000,不知道显卡型号的可以在电脑下方任务栏处右键,找到任务管理器——性能,可以看到GPU参数。
在这里插入图片描述
更新NVIDIA驱动程序

  1. 访问 NVIDIA 驱动程序下载页面:可以通过 NVIDIA 驱动程序下载页面找到适合 GPU 的最新驱动程序。
  2. 选择 GPU 型号:根据显卡型号选择合适的驱动程序,下载并安装。
  3. 从搜索结果中选择适合的最新驱动程序,通常推荐下载“Game Ready Driver”或“Studio Driver”,具体取决于你的用途。
    参考网址:http://nvidia.cn/
    在这里插入图片描述
    通过手动搜索输入GPU型号,选择合适的驱动程序下载
    在这里插入图片描述
    在这里插入图片描述
    安装驱动程序

注意,在整个驱动及CUDA安装过程中做好数据备份,准备重启电脑

下载完成后,安装下载的驱动程序,安装完成后,可以打开cmd使用nvidia-smi来查看驱动是否安装成功
在这里插入图片描述
我已经成功安装了475.14版本的驱动程序

查看显卡驱动对应的CUDA版本

更新驱动之后,可以继续下一步CUDA的安装,查看驱动与CUDA的对应情况,下载相应的CUDA版本
不同的显卡驱动版本支持不同的CUDA版本,可以通过访问NVIDIA官方文档来查看显卡驱动与CUDA版本的对应关系:
参考网站:https://docs.nvidia.com/deploy/cuda-compatibility/index.html
在这里插入图片描述
感兴趣的可以去详细看看,通过我的驱动为R470,所以我选择下载CUDA11.4,也列出了不同CUDA版本所需要的最低驱动版本
参考网址:https://developer.nvidia.com/cuda-toolkit-archive
下载相应的CUDA版本,准备安装
在这里插入图片描述
我选择的是CUDA11.4
安装之前可以先将之前的CUDA卸载,避免冲突,卸载 CUDA 的步骤:
打开控制面板:在 Windows 中,打开“控制面板”
选择“程序和功能”:找到并选择“卸载程序”或“程序和功能”
找到 CUDA:在程序列表中,找到已安装的 CUDA 版本(例如,CUDA 11.2 或 CUDA 12.6
卸载:右键点击 CUDA,然后选择“卸载”
按提示完成卸载:根据提示完成卸载过程

卸载完成后使用新的CUDA安装包进行安装,有的人需要重启电脑才可以完成,我没有重启,最后也安装成功了,参考个人情况

查看对应Pytorch版本

驱动程序与CUDA对应之后,查找与之对应的pytorch版本,别忘了同时关注所需python版本。这里我采用的是离线安装的方式,清华源安装可能会出现安装CPU版本的问题,可以选择先下载安装包再安装

首先创建一个环境安装pytorch
我为了训练yolo,所以起名为yolo_env
在搜索栏找到cmd打开,输入命令创建并激活环境,这里我选择了python=3.9,大家安装时可以根据需要调整,遇到提示框输入y进行安装。

conda create -n yolo_env python=3.9
conda activate yolo_env

(Python版本:一般来说,较新的PyTorch版本支持较新的Python版本。以下是一些常见的对应关系:
PyTorch 1.13.1支持Python 3.8、3.9、3.10
PyTorch 1.12.0支持Python 3.7、3.8、3.9
PyTorch 1.10.0支持Python 3.6、3.7、3.8、3.9
也可以查看对应关系,参考网址如下:
PyTorch官方安装页面: https://pytorch.org/get-started/locally/
PyTorch文档: https://pytorch.org/docs/stable/index.html)
我选择的python为python3.9
在这里插入图片描述
在这里插入图片描述
pytorch下载参考网址:https://download.pytorch.org/whl/torch_stable.html

其中cu开头的表示CUDA版本,cp后面的数字表示Python的版本,python3.9即为cp39,参考CUDA11.4,考虑到没有对应的cu114,选择了向下兼容,cu113/torch-1.12.1%2Bcu113-cp39-cp39-win_amd64.whl,下载得到如下:torch-1.12.1+cu113-cp39-cp39-win_amd64.whl
在这里插入图片描述
将下载得到的安装包放在我们的环境目录下,参考我的目录如下:‪D:\Anaconda3\envs\yolo_env
在cmd中打开上述目录,使用pip进行安装

pip install torch-1.12.1+cu113-cp39-cp39-win_amd64.whl

将后面的版本改成自己的版本
在这里插入图片描述
在这里插入图片描述

显示安装成功,至此驱动程序、CUDA、pytorch版本都已经对应,可以进行下一步验证了

安装成功验证

进入python环境进行验证:

python
import torch
print(torch.__version__)
print(torch.cuda.is_available())

分别输出版本号与True,即为安装成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值