2020/5/29
在 windows10 上面安装 CUDA 和 cuDNN
0、简单了解一下 CUDA 和 cuDNN
1)什么是 CUDA
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
2)什么是cuDNN
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
3)CUDA 和 cuDNN 的关系
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
1、查看本机的CUDA 驱动适配版本
桌面右键打开英伟达控制面板,点击帮助->系统信息->组件
可以看到本机支持的是CUDA 10.1 版本,表示是不支持更高版本的。如果你升级驱动,可能会支持更高版本,也可能不会提升。所以就必须安装 10.1 及以下的版本。
2、CUDA 各个历史版本下载链接
https://developer.nvidia.com/cuda-toolkit-archive
那根据第一步里面我自己的机器支持,我就下载10.1(Feb 2019)这个版本。
可以看到版本号是10.1.105,低于第一步里面的10.1.120,应该是没问题的。我的下载速度还是很快的:
3、下载 cuDNN
地址:https://developer.nvidia.com/rdp/cudnn-download
下载cuDNN是需要登录英伟达开发者账户的,注册一个并填写问卷就行了,很简单。
注意:必须选择和你安装的CUDA匹配的版本。
这个账号密码要求有大写字母,有字符:G**_*
上面选择 10.1版本,然后选择 windows10 ,接着开始下载。
两百多兆的压缩包,不过这次下载速度很慢。
4、安装 CUDA 和 cuDNN
1)安装 CUDA
找到你下载的CUDA,无脑安装就行了。当然如果你想自定义的话要记住你选择的安装路径。
CUDA安装完成后,打开命令行输入 nvcc -V ,成功的话会返回 cuda 版本号:
2)cuDNN
解压cuDNN压缩包,可以看到bin、include、lib目录:
将 bin 目录里面的内容复制,然后粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 对应的 bin 目录里面:
同样的,include 和 lib 目录里面的文件也复制到相应的文件夹里面。
5、添加环境变量
在系统环境变量的Path项下添加几个路径
点击 编辑 -- > 新建,需要添加下面两个路径(安装目录):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
6、查看安装结果
7、安装 pyTorch(在这一部分踩了很多坑)
(可以先看一下这篇文章 参考 https://blog.csdn.net/qq_36659185/article/details/106325832)
先放结论:(执行以下命令)
(1)创建pyTorch 虚拟环境(我们想在哪个虚拟环境上面安装pyTorch就可以在哪个环境安装,各环境之间互补影响)
conda create -n pytorch python=3.7
(2)进入 pytorch 虚拟环境
activate pytorch
(3)执行以下安装命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda install pytorch torchvision cudatoolkit=10.1
(4)安装完成测试 PyTorch GPU 版本是否安装成功
运行以下命令:
python
import torch
x = torch.rand(5,5)
print(x)
输出类似下面内容,则pytorch安装成功
再执行torch..cuda.is_available()
如果返回True,GPU版Pytorch成功安装完毕
下面是一些坑,可以不用看
下面再说详细步骤,以及自己踩过的坑:
进入官网 https://pytorch.org/get-started/locally/
在 Anaconda Prompt 里面运行下面自动生成的命令。
正常情况下到这里就可以慢慢下载成功安装了。
但是问题就出在 “ 慢慢” 二字!
因为官方源下载实在是太慢了!所以这里不得不考虑国内镜像源,我这里选择清华源(2020/5/29实测清华源可用,而且速度较快)。
注:这里补充一下添加清华源的方法,命令如下,依次执行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
然后执行安装命令:
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch ( 去掉后面的 -c pytorch 就是只使用清华源,不去掉就是官方源也可能会用到)
(注: 删除源的命令是 conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ )
下载中:
如果使用官方的源,会很慢很慢,如果使用清华源,会显示有些需要安装的包没有,比如 pytorch-1.5.0:(注:这里其实是一个坑,并不是没有,后面有讲到)
使用 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch 命令,就会有些用官方源,有些用清华源。
上图中,因为我反复安装了好几次,所以显示有些包已经安装好了,有些包已经下载好了但还未安装,有些包还需要下载。
我的问题出现在 pytorch这个包,官方源下载速度太慢,清华源不知为啥没有。
我查了一下原因,是不是我应该再设置一个 pyTorch 镜像:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
我从网上找到的,不知道能不能解决问题,我先试一下:
我再来安装试一下:
卧槽可以了!太开心了:
开始下载,速度确实还可以: