摘要
显卡驱动、CUDA、cuDNN以及说明三者之间的关系请看
本文将进行安装,使得可以使用pytorch-gpu
1 CUDA安装
CUDA安装官网描述:运行CUDA应用程序的两个必要条件是
(1)系统至少拥有一个支持CUDA编程的GPU硬件;
(2)能够兼容CUDA的驱动程序版本。
通过参考官网文档我对下图表格的理解:
(1)NVDIA发布的每一个CUDA工具包都有一个最低版本的显卡驱动限制,比如红色框内是目前最新版本的CUDA 10.2.89,Windows下其支持的显卡驱动最低版本是441.22,也就是说低于441.22的显卡驱动都无法安装CUDA 10.2.89。
(2)显卡驱动是向后兼容的,新的版本兼容旧的版本。
(3)对于指定的一个CUDA工具包仍然适用于后续NVIDIA发布的更高版本驱动。举例说明:文章中我的显卡驱动版本是445.75>=441.22所以目前我安装的显卡驱动都能与表中的CUDA任何一个版本兼容。假如你显卡驱动版本是400.36>= 398.26,但<411.31,所以CUDA 9.2 (9.2.148 Update 1)以下(包含9.2)CUDA版本都能兼容,以上则不能。
至此,明确了显卡驱动和CUDA的兼容关系,然后根据你要配置的深度学习框架来最终选择CUDA版本。
我要配置的是PyTorch,进入官网:https://pytorch.org/
百度搜索:
CUDA Toolkit 10.2 Download | NVIDIA Developer
前面的只有cuda 后面的包含 显卡驱动,选择后面的下载。双击安装软件点击OK进行(安装CUDA路径建议默认,方便后面配置cuDNN)
全选点击下一步
按照默认一直继续下去即可
2cuDNN下载
cuDNN官网下载链接:https://developer.nvidia.com/rdp/cudnn-archive 我安装的是CUDA10.2,对应我选择的cuDNN(红色框)
按照官网文档配置cuDNN:将下载解压好的cuDNN三个路径下的文件分别对应拷贝到CUDA安装目录对应文件中
至此,CUDA、cuDNN配置完成,接下来验证是否配置成功。
配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:
首先win+R启动cmd,输入 cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe,应该得到下图:执行bandwidthTest.exe
执行deviceQuery.exe
如果以上两步都返回了Result=PASS,恭喜你配置成功。
3 使用conda安装对应版本的pytorch
为了后面可以方便使用,我们选择在虚拟环境中安装pytorch
3.1 创建虚拟环境
conda create -n pytorch_gpu python=3.6
指令参考
激活虚拟环境:
activate pytorch_gpu
3.2 使用conda安装对应版本的pytorch
3.2.1 在线安装
https://pytorch.org/ 最新版本
https://pytorch.org/get-started/previous-versions/旧的版本
选择想要安装的版本
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch
cudatookit是cuda,我们已经装完了。所以应该是
conda install pytorch==1.5.0 torchvision==0.6.0 -c pytorch
-c pytorch使用自己的源地址 速度可能会慢,可以去掉使用清华等地址。
3.2.2 离线安装
在这里我们选择离线安装,即下载好后使用命令行安装
PyTorch安装包下载链接
https://download.pytorch.org/whl/torch_stable.html 进入之后有很多版本,下图我只截取了一部分
看到这么多包你可能一脸懵逼,不知道该下载哪一个。下面就让我们看看这一串串字符代表什么含义
Torch包含义:
cu101表示:CUDA10.1版本
torch表示:Torch包
1.4.0表示:此包版本
cp37-cp37m:Python 3.7版本
win_amd64:Windows下x64,指cpu的架构为64位
总的含义就是这个Torch包需要CUDA10.1、Python3.7、Windows下64位系统支持,所以这是GPU版本的Torch。当然也有CPU版本的,cpu开头的就是CPU版本。同理torchvision含义也是一样,选择好Torch版本对应选择torchvision版本就好。
比如我在Windows10系统下安装的是CUDA10.1、Python3.7,所以我对应选择的torch、torchvision版本如下图红色框。
cudatoolkit已经安装完了
pip install E:\安装包\CUDA10.2+CUDNN\torch-1.5.0-cp36-cp36m-win_amd64.whl
pip install E:\安装包\CUDA10.2+CUDNN\torchvision-0.6.0-cp36-cp36m-win_amd64.whl
安装完成之后就可以
import torch
print(torch.cuda.is_available())
测试一下。如果返回true就说明已经安装完成了。