【深度学习环境搭建】Pytorch-GPU1.7.1 和 TensorFlow-GPU1.14.0 安装指南(基于windows10)
文章目录
搭建时间:2021年2月7日
环境套餐:win10 + vs2017 Community + Pytorch-GPU1.7.1(CUDA11.1 + CuDNN8.0.4) + TensorFlow-GPU1.14.0(CUDA10.0.130 + CuDNN7.6.5)
一、基础知识储备
- 显卡:(GPU),主流是NVIDIA的GPU,因为深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。AMD的GPU基本没有什么支持,可以不用考虑。
- 驱动:没有显卡驱动,就不能识别GPU硬件,不能调用其计算资源。
- CUDA:是显卡厂商NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。【CUDA的本质是一个工具包(ToolKit)】
- CuDNN,是针对深度卷积神经网络的加速库。
关于CUDA与CuDNN关系形象阐述:CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
二、Nvidia显卡驱动 + CUDA + CuDNN 安装指南
2.1、如何查看自己电脑是否可以使用GPU加速?
如果这一步不满足,也就说明自己的电脑无法配置GPU版本的深度学习环境。
想要使用GPU加速,则需要安装 CUDA,所以首先需要自己的电脑显卡是否支持 CUDA 的安装,也就是查看自己的电脑里面有没有NVIDA的独立显卡,这里再说明一下,AMD的显卡不支持安装 CUDA 来进行加速,具体查看步骤如下:
第一步:开始菜单输入框输入设备管理器,打开设备管理器,找到显示适配器后点击打开下单,查看电脑显卡型号:
上面显卡有两个,第一个是核显,第二个才是独显
第二步:在NVIDA官网列表中,地址:https://developer.nvidia.com/cuda-gpus,查看自己的显卡型号是否在NVIDA列表中,若存在则可以下载 CUDA 实现GPU加速,这里可以看到我的台式机显卡 GeForce GTX 960 ,算力为 5.2(笔记本 GTX 960M 算力是5.0),当然如果你的显卡运算能力在3.0以下,那没有适合你的 CUDA 版本。
小知识:GeForce GTX 960 用在台式机;GeForce GTX 960M 用在笔记本。
2.2、CUDA安装
2.2.1、CUDA 安装前的絮叨
安装CUDA之前,我们需要做一些准备工作,一起先来看下NVIDIA的官方的CUDA下载安装文档,CUDA11.2 安装文档地址:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html。
其他CUDA版本的安装文档地址见:https://developer.nvidia.com/cuda-toolkit-archive
可以看到,如果我们想要下载安装CUDA需要有:NVIDA的显卡、Windows系统和Visual Studio。即:
- 第一步:查看自己电脑是否有NVIDA显卡。
- 第二步:查看自己是否有支持的版本的微软Windows系统,具体大家可看上图表1。
- 第三步:查看自己是否有支持版本的Visual Studio,因为我们在安装CUDA时需要用到其中的组件,具体请看上图表2。
安装工作总结:
- 查看自己有是否有支持NVIDA的独立显卡
- 查看自己是否有NVIDA显卡驱动程序,没有请下载安装
- 官网下载安装 Microsoft Visual Studio(申请一个微软账号)
- 官网下载安装 CUDA
- 检验CUDA安装是否成功
- CUDA安装成功后的使用
这里以安装 CUDA11.2 和 VS2017 免费社区版为例。
2.2.2、查看显卡是否支持CUDA
查看自己是否有支持安装CUDA的NVIDIA显卡,见上文 2.1小节。
2.2.3、安装 Nvidia 显卡驱动
查看是否有NVIDA显卡驱动程序,如果有,就不用安装了(一般刚装完系统都会安装这些驱动),建议自动更新驱动程序一下;没有,请下载安装,地址:https://www.geforce.cn/drivers,有两种安装方式。自动和手动,选择适合自己电脑的显卡驱动下载,安装很简单,直接下一步,默认系统安装路径就可以。
这里我选择了官网的自动安装,它给我下载了两个软件:
打开Geforce Experience软件,点击右上角的检查更新文件,如果有更新提示,点击更新即可。
安装完后,在桌面右键选择 NVIDA 控制面板,查看GPU显卡所支持的CUDA版本。接着依次点击:NVIDIA控制面板 -> 帮助 -> 系统信息 -> 组件,可以看到 NVCUDA64.DLL
后面的 CUDA 参数。该参数表示显卡支持的 CUDA 最高版本,我的显示11.2.135,所以我下载安装 CUDA11.2 及以下的版本即可。
CUDA版本要求的系统驱动版本一定要确定好,一般系统驱动版本越高支持的CUDA版本越多!下图是 CUDA11.2 匹配的 windows 驱动版本截图。
更多版本匹配信息可参考这里。
2.2.3、安装 Visual Studio
因为CUDA在安装时,需要 VS 里面的工具包来编译。VS这里我安装的是社区免费版VS2017,无需秘钥key就可以使用,也可以使用其它版本,但是需要key。需要注意的是,在CUDA的安装过程中,会自动检测本机是否已经安装了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的话,安装无法进行。所以一定要根据自己的CUDA安装版本确定配套的Visual Studio版本,在 CUDA 11.2 的安装文档中,我们可以看到,VS2017 和 CUDA11.2 是匹配的。
第一步:到微软Visual Studio官方网站进行VS2017安装包下载,这里需要注册一个微软账号并订阅一个服务(不订阅页面会一直打不开…),如果没有的话按步骤进行注册、登录即可,VS2017 社区版下载地址:https://my.visualstudio.com/Downloads?q=Visual%20Studio%202017
第二步:下载完安装包后双击,在工作负载处,勾选“C++的桌面开发”(其他的可不勾选,若需要的话,后面可再次安装)
第三步:选择软件安装位置选择软件要安装到的地方,建议安装到专门放软件的盘,不要安装到系统盘C,然后点击开始进行安装
第四步:正式安装,这个过程需要等待一会儿时间
第五步:安装完后,按照网上说电脑会提示重启,但是我并没有重启提示,为了以防万一,我这里手动重启下。
安装成功后的界面如下:
2.2.4、安装 CUDA
CUDA Toolkit本地安装包时内含特定版本Nvidia显卡驱动的,所以只选择下载CUDA Toolkit就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。所以,NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认携带与之匹配的最新的驱动程序。故,在使用多个CUDA的时候就不要选择离线安装的CUDA了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。
第一步:到官网下载CUDA安装包,前面我们已经查看到了电脑GPU显卡所支持的CUDA版本为11.2,下载地址:https://developer.nvidia.com/cuda-toolkit-archive
明明显示11.2,不知道为啥下载出来的文件名是11.1…
第二步:下载完后,双击打开安装程序,为CUDA选择临时解压文件夹。
第三步:同意并继续后,选择自定义安装
第四步:安装组件,全部勾选,点击下一步
第五步:选择安装位置,这里建议默认安装,也可手动安装,但是要记得自己安装的位置,因为后面需要配置系统环境变量。(这里我就不改了)
第六步:开始准备安装,等待安装完成,这需要等待一段时间
安装完成界面如下,点击下一步,就安装完成了
第七步:安装完成后,就需要我们配置 CUDA 的环境变量了,我们在计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了几个环境变量,如CUDA_PATH
和CUDA_PATH_V11_1
。
CUDA 安装好后,自动默认帮我们设置好了几个环境变量。为了方便日后配置VS使用CUDA,这里我们再手动添加以下5个环境变量。
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
%CUDA_PATH%...
前面的%,作用其实就是加上CUDA_PATH的路径,也就是上图的C:\Program Files\......
配置成功之后的图:
第八步:查看CUDA是否安装成功
配置完系统环境变量之后,我们就可以查看CUDA是否安装成功以及环境变量配置情况。
①、查看CUDA安装版本:Win + R 打开cmd ,输入命令:nvcc --version
。
②、查看设置环境变量情况:输入命令:set cuda
③、在命令窗口运行测试文件,验证deviceQuery
和bandwidthTest
。首先定位到 cuda 安装目录下的: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite
目录,接着分别输入deviceQuery.exe
,bandwidthTest.exe
并运行。如果两个命令的Result=PASS
则说明通过,反之,Rsult=Fail
则需要重新安装,如下图所示。
nvidia-smi
看的GPU相关信息更多,参数解读参考这里,注意这里的CUDA Version指的不是你在使用的CUDA版本,想看在使用的CUDA版本输入ncvv -V
命令!
如果以上都没问题,则说明CUDA安装成功。
至于 CUDA 安装成功之后的使用,我们可以在Visual Studio中写C++代码使用,也可以在 Anaconda 和 Pycharm 中写 Python 代码使用。
2.3、安装CuDNN
CuDNN(常见的神经网络层加速库文件),能够很大程度把加载到显卡上的网络层数据进行优化计算,CUDNN可以在CUDA基础上加速2倍以上。
2.3.1、再捋一下:NVIDIA的显卡驱动器、CUDA和cuDNN的关系
NVIDIA的显卡驱动器与CUDA
NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。
NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,CUDA本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA工具包,一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了。
CUDA和cuDNN关系
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
注意:CuDNN是一个SDK,是一个专门用于神经网络的加速包,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的CuDNN与之对应,但一般有一个最新版本的CuDNN版本与CUDA对应更好。
CuDNN支持的算法
- 卷积操作、相关操作的前向和后向过程
- pooling的前向后向过程
- softmax的前向后向过程
- 激活函数的前向后向过程,如(Relu、Sigmoid、Tanh )等
2.3.2、CuDNN的下载与安装
第一步:官网下载CuDNN的安装包,地址:https://developer.nvidia.com/cudnn,这里需要你注册一个账号,按照要求注册完就可以下载安装包了,这里我的CUDA安装的是11.2版本的,我就安装与我CUDA对应的CuDNN了。
windows下好像只有x86版本的…
第二步:下载好安装包后,利用解压软件解压出来
第三步:复制粘贴 bin、include、lib三个文件夹里的文件到CUDA安装目录的对应文件夹内进行覆盖替换。
CUDA安装目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
注意:CuDNN下的 lib 文件夹是复制 x64 文件夹下的文件到 CUDA 安装目录下的 lib\x64 中。
注意是复制文件到bin、include、lib目录,不是复制目录。
CuDNN到此安装成功!
2.4、安装 Pytorch-GPU 1.7.1
Pytorch-GPU 有以下三种方式常见的安装方式:
- Conda安装(官网命令下载速度慢,设置镜像源后可加速)
- Pip安装(设置镜像源,设置镜像源后可加速)
- 轮子安装(官网下载轮子,轮子安装)
正式安装 Pytorch-GPU 之前,我们先来为它创建1个虚拟环境。打开 Anaconda Prompt 输入以下命令,新建一个虚拟环境,Python版本为3.7,并切换到该环境下。命名如下:
conda create -n pytorch_gpu python=3.7
conda activate pytorch_gpu
2.4.1、使用 conda 安装(三种方式选一种即可)
第一步:首先我们来到 Pytorch-GPU 的官网,选择CUDA的安装平台以及版本、Conda或者Pip安装,在下方粘贴复制安装命令即可。
但是这里下载速度极慢,很容易出现CondaHTTPError
,因为默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,我们更改Conda下载安装包的镜像源。在 Anaconda Prompt中依次输入下面几条命令即可。
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
第二步:添加完后,在用户目录下,如:C:\Users\wangxubo
,找到 .condarc
文件,使用notepad++打开,删除里面的 defaults,这样速度能快点。
注意:用conda安装包的标准语法格式为:
conda install -c <channel><packagename>
,而pytorch官网中conda给的命令行是上图那样的,有-c选项,就说明已经指定了官方下载源,所以自己配置的镜像源不管用,所以应该把-c pytorch
去掉,就可以从镜像源下载文件了。
conda install pytorch torchvision torchaudio cudatoolkit=11.0
输入y,即可正式下载和安装
友情提示:如果你想再次换源安装,需要先使用以下命令conda config --remove-key channels
恢复默认源的命令,再更换想要的镜像源,否则会报错。
小问题:我安装的cuda版本是11.1,但是pytorch官网的命令是不提供11.1版本的,我直接用了11.0的命令,但是也是可以用的!这是为什么呢?如果11.0就能代表11.x,那上面为什么还要写10.1、10.2作区分呢?
2.4.2、使用 pip 安装(三种方式选一种即可)
过程与上述conda类似,不过选择了pip安装方式而已,安装之前最好先换一下源,在命令行依次输入以下命令:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
然后到Pytorch官网复制pip安装命令即可,如下:
pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
2.4.3、使用 轮子 安装(三种方式选一种即可)
比较麻烦,不建议这样,具体方法可自行网上搜索。
2.4.4、验证 Pytorch-GPU 是否安装成功
最后我们检测Pytorch-GPU是否安装完成,先使用命令pip list
查看已安装的包列表,再输入命令 python
,然后一次输入以下代码,若输出True
,即安装成功。
import torch
torch.cuda.is_available()
2.5、安装TensorFlow-GPU 1.14.0
2.5.1、使用conda安装
TensorFlow版本与Python、CUDA、CuDNN版本之间的对应关系见官网。
首先还是先创建一个虚拟环境,并切换到该虚拟环境下,命令如下:
conda create -n tensorflow_gpu python=3.7
conda activate tensorflow_gpu
接着使用如下命令安装GPU版本的TensorFlow,这种方式可以自动安装与之匹配的CUDA和CuDNN。
conda install tensorflow_gpu=1.14.0
小问题:上面我安装的CUDA版本是11.1,但是TensorFlow1.14.0按照官网的说法应该用CUDA10,显然不匹配。但是我使用
conda install tensorflow_gpu=1.14.0
这条命令安装的TensorFlow它自带CUDA10.0.130和CuDNN7.6.5。那它是怎么选择对应的CUDA版本呢?
2.5.2、验证TensorFlow-GPU是否安装成功
首先输入python,进入到python编程环境,然后依次输入以下代码,如果最后输出GPU True,则说明TensorFlow-GPU安装成功。
import tensorflow as tf
print('GPU',tf.test.is_gpu_available())
参考
- Python学习—Anaconda详细 下载、安装与使用,以及如何创建虚拟环境,不仅仅只有安装步骤哦
- 想要使用GPU进行加速?那你必须事先了解CUDA和cuDNN
- 保姆级的CUDA的下载安装使用,详细的环境变量配置,不仅仅让你能够安装,还会教你弄懂为什么要这样安装
- 官网安装Python包太慢?教你三种Pytorch的下载安装方式,保证你再也不用出现Error
- pytorch gpu版本的小白安装教程,含环境配置、CUDA(百度云下载)安装程序失败解决方案
- 分不清核显和独显?一分钟带你了解清楚
- windows10下安装GPU版pytorch简明教程
- 【保姆级教程】个人深度学习工作站配置指南
- win10安装CUDA和cuDNN的正确姿势
- tensorflow各个版本的CUDA以及Cudnn版本对应关系
相关文章
- 学习MongoDB 一:MongoDB 入门(安装与配置)
- xmind安装学习教程
- ClickHouse分布式安装-Docker环境
- Linux安装 微信开发者工具(deepin linux ubt)
- Ubuntu 20.04 上安装使用 ibus-rime(超实用)
- Nexus学习笔记--安装使用教程
- Spring Cloud系列Sentinel安装教程
- tensorflow学习笔记一:安装调试
- 《Python数据分析》一1.3 用setuptools安装
- 大数据学习——软件安装
- 大数据学习——yum练习安装jdk
- Windows下 maven3.0.4的安装步骤+maven配置本地仓库
- keepalived 安装篇-个人实践-编译安装
- oracle 安装学习
- Dynamic CRM 2013学习笔记(三十七)自定义审批流7 - 初始化(整套审批流下载、安装)
- NVIDIA公司推出的GPU运行环境下的机器人仿真环境(NVIDIA Isaac Gym)的安装——强化学习的仿真训练环境
- Redis学习---Ubuntu下Redis的安装
- 【嵌入式Linux学习】10、NFS服务安装与配置
- 静默方式安装10g数据库软件+升级patch+手工建库
- Maven学习笔记(二) :Maven的安装与配置
- Linux学习笔记(14)linux在6.x和7.x系列的安装与基本使用区别
- PL/SQL developer(绿色版)安装及配置
- Centos安装Python3
- CentOS7安装Nginx详细步骤
- Vue学习第22天——Vuex安装使用详解及案例练习(彻底搞懂vuex)
- 【fiddler学习笔记】——安装、原理、使用
- 【AI学习笔记】TensorFlow GPU版本的安装(超详细)
- 【Java学习笔记】JDK、JRE安装和Java环境变量配置笔记
- centos 安装jdk
- Kyin学习笔记(一)-----Kylin安装、入门案例和原理介绍