赞
踩
一.前言
写这篇文章的目的首先是对刚接触深度学习的炼丹侠们指明一个正确的方向(避坑),深度学习对小白来说可谓是相当的不友好,从环境配置开始就是一堆拦路虎;其次,是自己对旧知识的回顾,也算是留给自己的一份备忘录。
二.配置清单
需要说明的是,版本之间存在很强的兼容性,务必在使用之前搜集下资料了解以下配置是否适合自己的电脑.工欲善其事必先利其器,这句话同样也适用于深度学习,当然怎么判断以下配置是否合适,下文会给出分析。
三:安装流程
1.vs安装
这一步骤,是很多博主习惯性忽略的一步,也为后来很多cuda等坑埋下了很多伏笔,很多博主都学过c++,电脑已经有了这个软件,可能习以为常的就从conda,cuda等后续一系列安装,殊不知这一步骤对于新手的重要性。该软件的官网地址:vs官网链接
这里推荐安装第一个社区版本,点击之后,会跳出以下界面,将下载好的exe启动安装完毕即可,没有其他特殊操作。
2.anconda的安装.
方式一:官方下载地址:官方下载地址,但是该方法不太推荐,经常容易卡爆,尤其剩下最后1%进度条安装完毕时,突然出现网络问题,会整的很崩溃。
方式二:使用国内的清华镜像源 ,下载相应版本的Anaconda,这里使用Anaconda3-5.2.0-Windows-x86_64.exe版本,我也比较推荐这个版本,起码3.6版本的python,没出现过兼容性的很多问题,当然如果你也可以安装其他版本anconda,但是安装之前请详细看看下面这幅图,是根据自己的系统和所需要的python版本来确定conda版本。比如我的需求是3.6版本的python,就可以去python3.6这一列去寻找自己想要安装的conda版本。
选择版本完毕后,可以去清华镜像源选择版本安装,具体的如下所示:
等待上述步骤完成后,启动exe,就开始了安装conda的一系列步骤,具体的conda安装步骤如下图所示 :
1)双击下载好的 Anaconda3-5.2.0-Windows-x86_64.exe文件,出现如下界面,点击 Next 即可.
2)然后点击agree
3)选择all user,因为电脑可以由很多账户,我选择的代表所有用户都可以用。如果选择第一个,代表只有当前账户可以使用,看个人爱好吧,影响不大。
4)选择安装位置,正常我都是自己新建一个包,安装到对应包下面,以后也方便自己的查找,千万要记住安装的路径。该步骤安装的默认路径是在c盘,这个也是因人而异。
5)该步骤我是把环境变量勾上的,这一步请注意,也意味着这2个我是全选的。然后继续install。
6)只要出来一个窗口,只需要点击next即可,最终安装好后达到这样的。
7)如果电脑没有安装vs(不是visual studio code编辑器),点击下方的install Microsoft VSCode这个选项,这是一个c++的编辑器,不安装这个后面可能会有很多坑,很重要。包括后面cuda的安装,都是需要它的。如果已经安装我的步骤安装完毕,可以跳过,直接点击skip。这里还有个坑,我安装时遇到的,可能你的vs版本比较低,点击下方的skip时并没有主动安装,这时候一样的方法,点击下方的install Microsoft VSCode这个选项,会安装符合的版本。
8)安装完毕之后,需要对conda和pip进行换源,conda换源具体流程如下所示。
- 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
pip换源流程如下所示:
在用户目录下建立pip文件夹,然后再pip文件下建立一个文本文件,修改后缀为pip.ini,写入国内源镜像地址(如下图所示),正常pip文件夹默认的位置为:C:\Users\xx你的用户名xx\pip
- [global]
- index-url = https://pypi.tuna.tsinghua.edu.cn/simple
到此为止,conda环境的安装可以告一段落。
3.cuda的安装
1)确认显卡支持
在桌面电脑图标上点击右键,选择管理,接着点击设备管理器,最后点击显示适配器,该步骤也很重要,很多电脑不是英伟达的卡,可能用不了cuda,下一步也就没有存在的意义而言了。正常情况下会看到如下结果(当然显卡因人而异):
2)确认显卡和cuda的依赖
这一步,我们可以去CUDA官网点击查看,往下拉会出现以下界面。
接着点击上述红色箭头选中的部分,效果图如下所示:
根据我的显卡配置,可以看出CUDA计算能力为6.1。
3)查看电脑的驱动
这一步骤也很重要,驱动版本和CUDA版本不对应,后期又是一堆bug,查看自己电脑的驱动版本也比较容易。在桌面上鼠标右击选择nvidia控制面板,选择之后弹出界面如下:
可以看到自己电脑的版本驱动为425.25,再去官网给出的版本对应图(请点击CUDA与驱动对应),驱动版本和CUDA对应图如下所示:
结合自己电脑的驱动和系统,可以选择cuda10.1以下的版本,我个人选择的时cuda10.0版本的,这个也是根据自己的喜好进行选择。
4)查看tensorflow版本对应的CUDA和cudnn版本。
按照图上的要求,应当选择1.14版本的tensorflow和cudnn7.4以上,但是tensorflow我使用的是1.13.2,经过测试也没有问题,接下来就是安装cudnn了。
4.cudnn加速包安装
1)加速包可以选择去cudnn官网点击下载,当然下载之前需要注册等一些信息,过程不是很难,下载前的示意图如下所示:
下载下来的相关包不用安装,直接解压,然后拷到cuda路径对应的文件夹下面就行。首先先进入到CUDA的安装包下,具体路径如图所示,可以看到自己安装的版本为cuda10.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
接着,解压cudnn安装包,会看到3个文件夹分别为bin、include、lib,该文件夹路径分别对应为:
- C:\Users\xx用户名xx\Desktop\cudnn-10.0-windows10-x64-v7.4.1.5\cuda\bin
- 该路径下的脚本为:cudnn64_7.dll
- C:\Users\xx用户名xx\Desktop\cudnn-10.0-windows10-x64-v7.4.1.5\cuda\include
- 该路径下的脚本为:cudnn.h
- C:\Users\xx用户名xx\Desktop\cudnn-10.0-windows10-x64-v7.4.1.5\cuda\lib\x64
- 该路径下的脚本为:cudnn.lib
注意:lib文件夹里可能会有2个文件夹,我们只需要将X64文件加里的脚本提取出来就可,3个文件夹分别对应脚本文件如中文字体部分。
2)cudnn结合CUDA
这一步比较简单,第1)步得到了3个脚本文件直接复制粘贴到CUDA相对应的文件下即可,即CUDA10.0路径下(如步骤1)所示)也会有3个文件夹分别为bin、include、lib的文件夹,我们仅需要将cudnn下的3个脚本依次复制粘贴即可。举个例子:cudnn.h脚本存在于cudnn下的include文件夹里,找到CUDA的include文件夹,将cudnn.h复制粘贴即可,依次往复。到这里为止,一切准备工作已经准备就绪。
5.tensorflow_gpu的安装
1)用conda新建一个虚拟环境,以下创建了一个python3.6版本的名字为tf的环境。
conda create -n tf python==3.6
2)接着安装numpy,还是老问题,版本号的对应,这里选择的1.17.4,这里我才用的pip安装各种包,这个只是个人习惯问题,用久了会发现conda很多包存在安装不了的问题,conda很多包更新速度没有pip快,所以我基本用conda新建环境,pip安装各种以来包。
pip install numpy==1.17.4
3)接着安装tensorflow
pip install tensorflow-gpu==1.13.2
安装过程你会看到这样的进度条,正常时很快的,如果你的进度条很慢,或者下载速度只有k为单位,那你需要好好检查下到底是否换源了,或者是否用的清华源、中科大源等。但是安装过程中我出现了以下错误,如图所示:
基本上这种错误,可以直接肯定时包的兼容性问题,自己在包的列表里找到了gpu版本的tensorflow,所以肯定的是包安装没问题了。于是去百度找了下结果,结果显示protobuf版本太高,于是降低了该包的版本,后面正常显示。
4)最后去终端确认下tensorflow的成功安装:
5)最后安装keras就比较简单了。
pip install keras==2.1.5
6.编辑器的安装
最后是编辑器的安装,个人喜欢用Visual Studio Code,该编辑器下载地址为:visual studio code,只要下载下python和汉化包,该编辑器就可以写代码了,可以写个代码测试下tensorflow.
- import tensorflow as tf
- a = tf.constant(1.0)
- b = tf.constant(2.0)
- c = a + b
- with tf.Session() as sess:
- print(sess.run(c))
如果上述代码打印出3这个结果,那么所有的工作就做完了。
四.总结
以上过程可能看起来比较复杂,其实按照步骤过来很通俗易懂,上述配置都是昨天自己亲自配置并完成的,最后强调下,一定要注意包与包之间的兼容性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。