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,即为安装成功
在这里插入图片描述

### 解决 PyTorchCUDA 版本匹配问题 当遇到 `pytorch CUDA driver version is insufficient for CUDA runtime version` 错误时,通常是因为当前系统的 NVIDIA 驱动程序版本低于所使用的 CUDA 运行时版本的要求。以下是详细的解决方案以及如何确保 PyTorchCUDA 版本兼容的方法。 #### 1. 检查当前系统配置 为了确认当前的驱动和 CUDA 版本是否满足要求,可以运行以下命令来获取相关信息: - **检查 NVIDIA 驱动版本** 通过运行以下命令查看当前安装的 NVIDIA 驱动版本: ```bash nvidia-smi ``` 此命令会显示 GPU 使用情况、已安装的驱动版本以及其他重要信息[^3]。 - **验证 PyTorchCUDA 的支持** 在 Python 环境中运行以下代码片段以检测 CUDA 是否可用: ```python import torch print(torch.cuda.is_available()) print(torch.version.cuda) ``` 上述代码将返回布尔值表示 CUDA 是否被正确加载,并打印出 PyTorch 当前正在使用的 CUDA 版本号[^4]。 --- #### 2. 安装适配的 PyTorchCUDA 组合 根据官方文档推荐的最佳实践,应选择现有硬件环境完全一致的软件组合。例如,假设你的显卡驱动为 v525.x 并对应于 CUDA Toolkit v11.8,则应该下载编译好的预构建二进制文件或者重新定制化编译源码包。 可以通过访问 [PyTorch官网](https://pytorch.org/get-started/locally/) 获取最新的稳定版链接地址并按照提示操作完成安装过程。对于 Conda 用户来说,也可以利用如下指令快速切换至指定分支下的依赖项集合: ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch -c nvidia ``` 这里特别强调的是要严格遵循目标平台架构特性设定好对应的标签参数选项[^2]。 --- #### 3. 更新或降级 NVIDIA Driver 如果发现现有的图形处理器固件确实过期而无法支撑起更高层次的功能调用链路的话,那么就很有必要前往[NVIDIA官方网站](https://www.nvidia.com/en-us/drivers/unix/linux-display-drivers/)查找最新发布的补丁包进行升级处理;反之则考虑适当降低期望达到的技术规格标准直至找到平衡点为止[^1]。 --- #### 4. 测试新环境的有效性 最后一步就是再次重复前面提到过的诊断流程步骤,直到获得预期的结果反馈位置结束整个修复工作流环节。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值