RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)
如果你遇到以下问题,请认真看完,相信会有收获 GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
If you want to use the GeForce RTX 3070 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))
所需的下载准备 Anaconda、cuda、cudnn、Pytorch
anaconda与pycharm的使用可以参考我的上一篇博客:
重点介绍在rtx30系列安装正确版本
cuda、cudnn安装
cuda安装
如图所示,首先打开NVIDIA控制面板,点击帮助,查看系统信息,
文章图片
查看结果如下图所示,我们可以适配的cuda时11.2版本,当然低版本的11.1也是ok的。
文章图片
打开pytorch官网https://pytorch.org/get-started/locally/根据版本需求选择适合的pytorch版本。如下图所示,这里一定要选择cuda11.1版本的,如果选择cuda10.2,结果就是在使用深度学习训练时导致不适配。(血与泪的教训)
文章图片
进入cuda安装官网,根据我的步骤来:https://developer.nvidia.com/cuda-toolkit-archive
文章图片
文章图片
下载后,安装我是一路默认,最后完成安装。
按照安装提示默认安装即可。 安装完成后,可以打开文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA,可以看到当前目录已经存在v11.1文件夹,表示已经成功安装cuda11.1版本,并且上述安装程序已经自动的向环境变量中添加了对应的cuda路径,使得后续pytorch可以正常调用和执行。
最后,测试一下cuda是否安装成功。打开cmd命令终端,然后输入命令:
nvcc -V
文章图片
cudnn安装
这里读者会有疑问,cudnn是什么?为什么装了cuda了还要再装cudnn?
为了解释上述两个问题,我们需要重新梳理一下我们使用Pytorch的最终目标是什么?毫无疑问,我们是用它来进行深度学习训练和推理,深度学习本质上就是训练深度卷积神经网络。尽管我们已经可以用cuda使得显卡来完成并行计算任务,但是所有的操作还是比较底层的、复杂的。是否在cuda之上有一个专门用于深度神经网络的SDK库来加速完成相关特定的深度学习操作,答案就是cudnn。
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如caffe、tensorflow、pytorch、mxnet等。cudnn简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。
cudnn官网下载地址:https://developer.nvidia.com/cudnn,这里需要注册账号并填写相关个人信息,然后进才可以进入真正的下载页面,按照提示一步步操作即可。最终下载如图所示版本:
文章图片
下载之后,解压缩,将CUDNN压缩包里面的bin、clude、lib文件直接复制到CUDA的安装目录下(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1),直接覆盖安装即可完成。
添加环境变量
计算机属性>高级系统设置>环境变量:
在系统变量中新建下面的路径
CUDA_BIN_PATH: %CUDA_PATH%\bin
CUDA_LIB_PATH: %CUDA_PATH%\lib\x64
CUDA_SDK_PATH: C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1
CUDA_SDK_BIN_PATH: %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH: %CUDA_SDK_PATH%\common\lib\x64
Note(注意):如果查不到ProgramData,就是在隐藏项目里,如图所示:
文章图片
如图所示:
文章图片
编辑系统变量path,新建下面的的变量,确定。
%CUDA_BIN_PATH%
%CUDA_LIB_PATH%
%CUDA_SDK_BIN_PATH%
%CUDA_SDK_LIB_PATH%
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1\common\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1\bin\win64
步骤如图所示:
文章图片
最后结果如图所示:
文章图片
至此,本节告一段落。下节更精彩。
安装Pytorch 首先,我们打开anaconda prompt
文章图片
#创建虚拟环境:推荐使用python为3.6版本,比较稳定。
conda create -n pytorch-gpu python=3.6
#激活环境:
conda activate pytorch-gpu
开始讲到我们下载cuda11.1适配版本的pytorch,如图所示:
文章图片
将选中的文字复制(conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge),打开anaconda prompt,运行conda activate pytorch-gpu,将环境切换至之前创建的pytorch-gpu环境。(左侧括号中显示pytorch-gpu则切换成功)
将复制的文字粘贴至cmd中,单击回车 ,由于安装量过大,这里建议大家使用fanqiang,可以很快下载(多试试几个节点)。
文章图片
根据提示,输入y,等待安装结束。之后验证是否安装成功,输入python,再输入import torch,没有报错则安装成功,在验证gpu是否可用时,看其他一些博客写的通过以下命令是不能过验证cuda是否可以正常使用
import torch
# 我在pytorch-gpu的命令环境测试该命令 返回是True的,但是rtx30系列如果安装的cuda10.2版本在run torch程序的时候报错,因为rtx30系列并不支持cuda10.版本
torch.cuda.is_available()
【python|RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)】那么我们用如下代码验证:
import torch
torch.zeros(1).cuda()
# 如果没有报错,表示可用,至此大功告成,在以后的项目中,就可以使用gpu来跑程序啦。
推荐阅读
- python|爬虫scrapy框架不理解(通俗?点告诉你)
- 工具|python登录+验证码
- 图论(graph theory)算法原理、实现和应用全解
- 不相交集(disjoint set)原理和实现图文详解
- 9大经典排序算法原理和实现代码详解
- Python MongoDB –查找数据用法介绍
- 比收费的还好用,7个自学python的网站
- 百度飞桨|基于卷积神经网络VGG实现水果分类识别
- 图像处理|opencv python图像批量相加cv2.add(img1,img2),以stone331数据集为例