Win10 GPU运算环境搭建
ai小白狼 人气:0一、深度学习为什么要搭建GPU运算环境?
熟悉深度学习的人都知道,深度学习是需要训练的,所谓的训练就是在成千上万个变量中寻找最佳值的计算,所需计算的数据量异常庞大。CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。CPU的运算在遇到大体量的数据时就会耗费大量时间,而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工,用GPU运算则可以大大加快深度学习运算速度,从而减少科研的时间成本。
什么是CUDA?
CUDA(Compute Unified Device Architecture)是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
什么是Cudnn?
将CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,这样才能使GPU进行高速的深度神经网络的工作。
二、搭建GPU运算环境
检查自己的显卡型号,选择适合的CUDA和CUDNN
如图打开NVIDIA控制面板–>系统信息–>找到NVCUDA.DLL
可以看到NVCUDA.DLL 后面产品名称那一列写着NVIDIA CUDA 10.2.95 driver,说明我的显卡支持CUDA10.2及以下版本。
CUDA的下载
这里我选择了CUDA 10.0版本,因为相较于最新版CUDA 10.2,版本稍低一点会相对稳定点吧!进入NVIDIA官网下载CUDA然后安装可以了。
下图根据提示选择好自己的系统,系统架构,系统版本,下载方式,点击下载的CUDA是最新的!想要下载历史版本的话,需要自己去找,具体百度即可。
最后进入命令窗口输入:nvcc -V查看安装是否成功。下图就是成功安装的样子。
Cudnn的下载
进入Cudnn界面–>点击Download cuDNN
这里网站会要求你注册一个英伟达账号,注册了就会跳转去下载页面,最后根据自己安装的CUDA版本选择Cudnn版本就好。我用的是Cudnn 7.6.5。
下载解压后,把CuDNN目录里面的bin, include, lib里面的文件覆盖放入CUDA目录下对应的bin,include,lib里面(注意是复制文件,而不是文件夹)。
至此GPU运算环境就算搭建完成了!
三、Ananconda3的安装
什么是Anaconda?
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
下载Anaconda3
根据电脑系统和python版本选择下载文件,按照安装程序的指示进行安装就好了。
四、Anaconda虚拟环境的搭建
什么是虚拟环境?
虚拟环境无非就是将系统的Python运行环境copy到一个指定的文件夹下,这个文件夹里的内容就是所谓的虚拟环境。你可以在这个copy出来的环境做实验(写你的Python代码)而不用担心影响到其它的项目。也就是说每个虚拟环境都是独立的相互隔离的。
不同项目所需要的框架和python包甚至是框架和包的版本都各不相同,所以为每个项目搭建特定的虚拟环境是非常有必要的,要养成这个好习惯!
虚拟环境的相关操作
使用conda create -n your_env_name python=X.X(2.7、3.6等)
命令创建python版本为X.X、名字为your_env_name的虚拟环境。
进入虚拟环境:conda activate your_env_name
(虚拟环境名称)
对虚拟环境中安装额外的包:conda install -n your_env_name [package]
退出虚拟环境:deactivate
五、选择要搭建的深度学习框架
Pytorch的安装
进入pytorch官网,选择自己的操作系统、编程语言、CUDA版本,最后红圈部位会出现一行命令,复制到命令窗口就可以下载了。
但是!这种方法灵活性很低,我安装的是CUDA 10,上图Package里没有这个选项怎么办?还有PyTorch的版本在国内下载是非常非常非常慢的,而且近期清华与科大的镜像都被封了,就导致了直接使用PyTorch官网推荐的语句很难安装。
解决办法是:下载安装包到本地 。
建议大家在Package一项中选择“pip”安装,然后在“Run this Command”这一栏,直接复制代码中的两个网址,就可以下载到本地来进行安装了。
检查环境和GPU运算是否搭建成功
我上网了解很多人使用pytorch 1.2版本,所以没有下载最新的1.5。
import torch print("hello pytorch {}".format(torch.__version__)) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
Tensorflow的安装
TensorFlow是基于VC++2015开发的,所以需要下载安装VisualC++ Redistributable for Visual Studio 2015 来获取MSVCP140.DLL的支持。
我这里下载了Visual Studio 2017。
然后就是好习惯时刻——创建一个虚拟环境,进入其中执行下载语句conda install tensorflow安装就可以了!我用的是 Tensorflow 1.14.0。
五、心得和一些建议
整个深度学习环境的搭建过程是挺磨人的,我期间参考了许多博客和视频。由于版本问题不匹配而导致环境搭好了又要推倒重来,不断地踩坑排坑,还好结果是好的。
给一些建议:
- 在搭建GPU环境前,要了解自己的显卡支持的CUDA版本,并且cudnn要和CUDA版本匹配。
- 无论是CUDA还是深度学习框架,尽量避免使用最新版,版本稍微低一点点就够了,因为出了问题能找到很多同版本使用者的解决方案。
- 国内下载python包有时会很慢甚至报一些连接失败的错误,换个下载方式就好了。
- 多利用虚拟环境,避免各个环境间的污染。
- 搭建好环境后,去跑一个中等大小的图像数据集代码吧!然后去看看你的GPU利用率是否变得很高,验证环境确实是搭建成功了。
本文所涉及到的版本配置
- Window 10 + RTX 2060
- CUDA10.0+Cudnn 7.6.5
- Pytorch 1.2.0 +Python 3.6.5
- Tensorflow 1.14.0+Visual Studio 2017+python 3.7.3
加载全部内容