RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)

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控制面板,点击帮助,查看系统信息,
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第1张图片
查看结果如下图所示,我们可以适配的cuda时11.2版本,当然低版本的11.1也是ok的。
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第2张图片
打开pytorch官网https://pytorch.org/get-started/locally/根据版本需求选择适合的pytorch版本。如下图所示,这里一定要选择cuda11.1版本的,如果选择cuda10.2,结果就是在使用深度学习训练时导致不适配。(血与泪的教训)

RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第3张图片
进入cuda安装官网,根据我的步骤来:https://developer.nvidia.com/cuda-toolkit-archive
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第4张图片
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第5张图片
下载后,安装我是一路默认,最后完成安装。
按照安装提示默认安装即可。 安装完成后,可以打开文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA,可以看到当前目录已经存在v11.1文件夹,表示已经成功安装cuda11.1版本,并且上述安装程序已经自动的向环境变量中添加了对应的cuda路径,使得后续pytorch可以正常调用和执行。

最后,测试一下cuda是否安装成功。打开cmd命令终端,然后输入命令:
nvcc -V
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第6张图片

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,这里需要注册账号并填写相关个人信息,然后进才可以进入真正的下载页面,按照提示一步步操作即可。最终下载如图所示版本:
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第7张图片
下载之后,解压缩,将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,就是在隐藏项目里,如图所示:
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第8张图片

如图所示:RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第9张图片
编辑系统变量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

步骤如图所示:
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第10张图片
最后结果如图所示:RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第11张图片
至此,本节告一段落。下节更精彩。

安装Pytorch

首先,我们打开anaconda prompt
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第12张图片

#创建虚拟环境:推荐使用python为3.6版本,比较稳定。
conda create -n pytorch-gpu python=3.6
#激活环境:
conda activate pytorch-gpu

开始讲到我们下载cuda11.1适配版本的pytorch,如图所示:
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第13张图片
将选中的文字复制(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,可以很快下载(多试试几个节点)。
RTX3050ti、3060等系列显卡正确安装cuda、cudnn,配置Pytorch深度学习环境(避免由于版本不适应导致重装)_第14张图片
根据提示,输入y,等待安装结束。之后验证是否安装成功,输入python,再输入import torch,没有报错则安装成功,在验证gpu是否可用时,看其他一些博客写的通过以下命令是不能过验证cuda是否可以正常使用

import torch
# 我在pytorch-gpu的命令环境测试该命令 返回是True的,但是rtx30系列如果安装的cuda10.2版本在run torch程序的时候报错,因为rtx30系列并不支持cuda10.版本
torch.cuda.is_available()

那么我们用如下代码验证:

import torch
torch.zeros(1).cuda()
# 如果没有报错,表示可用,至此大功告成,在以后的项目中,就可以使用gpu来跑程序啦。

你可能感兴趣的:(python,pytorch,cuda,cudnn)