笔记前言
First,响应项目需要,开始着手搭建tensorflow开发环境。Hmmm,作为一个对搭建环境几乎是零基础的人,在几天的学习里,在WW和他朋友的帮助下,相对比较顺利(就是网速比较慢 )地搭完了环境~( 撒花嘿嘿嘿 q(≧▽≦q) )
Then,为了方便以后自己查阅相关笔记,所以对期间的学习过程和遇到的问题做了一份(也是第一份 )在我看来较为详细的学习笔记,当然如果这份小笔记能帮助到别人那就更好啦 ~
PS:
- 博文多数引言,均摘录于WW的(
我觉得比较通俗易懂的)指点迷津; - 初学者笔记略显拙劣,不到之处请各路神仙多多包涵和指教 ~ ~
关于搭建
1. 本次搭建的环境没有安装Anaconda(一不必要,二我不太会,三我懒)
以下摘录自WW原话。
原本,我们的python是具有一个系统自带的python2代版本。而我们使用的pip命令,优先是使用系统自带的二代的pip命令。想要使用三代的pip,还有64位和32位不同管理等的问题,特别麻烦。
相对于此, Anaconda提供了python各种版本环境分别管理(以及一键安装某版本),检测系统中存在的python,划分出不同的虚拟环境,并且,将各源的包整合了,也就是说,在Anaconda中,存在了pip2、pip3(64)、pip3(32)里所有的包,所以,只需要在命令行输入 conda install 就可以代替 pip install 。
所以说Anaconda自己就是一个大环境,用Anaconda会很方便地搭其它环境。
“但是不建议新手在大环境下搭建小环境。”(嗯,比如我)
Thus,按我现在的理解,Anaconda就是一个整合了各种版本的python的虚拟环境搭建平台工具,类似于【VM虚拟机】这样的软件类工具。
2. 没有安装Anaconda,那我是怎么搭出来的?
很简单,我就是用了下载的py3,而合理地使用了py3下的pip命令,从而避开了使用py2下的pip命令。
3.关于TensorFlow的两种版本的简单记录
TensorFlow分为CPU和GPU两种版本,其本质是一个可被程序引入的库文件,类似于C语言的 stdio.h 、 stdlib.h 之类的。TensorFlow内部定义了一些函数 constant、add等 ,都具有固定的使用格式,用多了自然就熟悉了,像C语言里面的函数一样,引入相关的头文件后,直接使用即可。
CPU版本和GPU版本的TensorFlow的包,包里的同名函数,格式和功能都是一样的。
区别在于,GPU版本的函数,会将函数中计算复杂的部分,丢到显卡中去计算。这样会很大程度上加快计算。
提问:“那到底怎么加快运算呢?”(所以我咨询了老师和参考了一些博文)
举个栗子:
“我自己的电脑上测试过,CPU版计算同一个问题,大概需要花费GPU版16倍的时间。”
那假设,如果本身使用GPU版都需要一天一夜那种计算量的话,那就可以想想CPU版得花多长时间哇???(不敢想不敢想)
4. 对于TensorFlow(GPU)的一些学习笔记
GPU版本的安装则需要先安装一些前置的框架,NVDIA品牌的显卡对应的框架,名为CUDA(统一计算设备架构)。
“TensorFlow(GPU)+ CUDA ,可以满足大部分项目的需求了。”
CUDA:
允许CPU将复杂的计算,丢到GPU上,并在计算结束后从GPU上读取计算结果。TensorFlow(GPU)包里的函数,一般都支持CUDA。但是,不同版本的TensorFlow可能会和不同版本的CUDA存在兼容性问题,所以在安装之前要查清楚,下载的这两个版本是否兼容。
CUDNN:
CUDNN是CUDA的深层神经网络加速库。这个库不是给你的程序引用的,是由CUDA来引用。所以安装好CUDNN,然后重新配置一下CUDA的环境,就可以对CUDA进行加速了。可以理解为,CUDNN是CUDA的一个补丁。打了这个补丁的CUDA,被TensorFlow引用时可以更有效率地完成计算。而CUDNN对计算的提速将近一倍。
总结上述关系:
——> 程序需要引用TensorFlow(GPU)
——> TensorFlow需要CUDA框架作为环境
——> CUDA可以引用CUDNN进行提速
搭建流程
- 确认显卡驱动版本,根据版本,下载兼容的CUDA版本
- 根据需要,将CUDA的某些路径写入到系统环境变量
(一般网上都有教程,按照教程来即可) - 安装cuDNN,并配置给CUDA
(补丁通用的方式是扩充和引用,具体哪种按照你自身的教程来) - 安装tensorflow-gpu
- 运行一段包含TensorFlow包的示例代码,确认能够运行
(大部分教程均有教如何测试TensorFlow安装结果的,按照教程测试即可)
关于搭建的那些事儿
一、我的环境
操作系统:win10
GPU:MX150+CUDA10.0+cuDNN
IDE:Pycharm(一种Python IDE)
框架:tensorflow-gpu
解释器:Python3.6
二、安装顺序
1、查看版本
控制面板 -> 硬件和声音 -> NVDIA控制面板 -> 帮助 -> 系统信息
详情可见: https://blog.csdn.net/weixin_43522055/article/details/99595641
2、下载相应适合的CUDA版本:CUDA10.0
官网下载:https://developer.nvidia.com/cuda-10.0-download-archive
First,在下载的页面,我是这样选择的:
这是源于一位大佬实践过的推荐,据经验介绍:
“刚开始第四行选择的是右边的那个 【即选择了:exe(local)】,但是下载下来安装不了 【具体原因未知】,百度查到是电脑缺少什么压缩软件,所以建议选左边的那个。”
“所以我就选了左边那个啦!”【我是不是很乖 ( 假的 ) 】
Then,只需要选择下图的base installer即可。
Okay,我们打开下载好的CUDA10.0开始安装,刚开始的安装程序存放位置,自己随意就好,以下展示的是默认路径。
【别问,问就是我比较懒 而且我觉得叭,如果C盘能接受一个多G,不如直接安装在默认路径,防止老出问题之类的 不然又要折腾了hhh,反正你开心就好 】
All right,下一步会检测系统兼容性,貌似有些显卡是不支持GPU的,所以需要事先查清楚。
Next,接受协议后等待安装即可。【大功告成???远着呢 】
PS:
安装模式方面,我选择的是精简安装。而,程序默认的精简模式可以理解为安装所有东西。【比如包括VS以及显卡驱动】建议根据需要,选择合适的安装模式。
安装完成之后,下一步需要 配置环境变量。(这个很重要)
参考了比较多的博文后,以下给出如何配置环境变量:
不急,首先,我们先查看系统变量:
【电脑属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量】
如果安装成功呢,系统变量会多出两个为:
然后,还需要添加几个系统变量:
【以下均为默认路径,如果自己路径设置安装成功的话,就用自己的路径啦】
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
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
添加好之后应该像下面这样:
下一步呢,我们在系统变量PATH里添加东西:
%CUDA_LIB_PATH%
%CUDA_BIN_PATH%
%CUDA_SDK_LIB_PATH%
%CUDA_SDK_BIN_PATH%
【注意以下均为默认路径,有需要的话自行修改噢】
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64
添加好之后应该像下面这样:
添加完之后呢,CUDA就算是安装完成啦(≧∇≦)ノ。
接下来,我们可以检验是否安装成功。
打开默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite
Then,分别执行命令:bandwidthTest.exe、deviceQuery.exe
如果分别返回以下结果:
则代表CUDA10.0安装成功。【激动! 】
3、cuDNN的选择和安装
在官网上下载搭配CUDA10.0的cuDNN,但是注意下载时候需要注册英伟达的账号才能下载,注册什么的比较简单啦,略。
【我看见有博文写到,下载时候出现网页速度较慢的情况,建议从CSDN上找资源来下载 但是我下的时候比较快,所以这个自行决定就好~ 】
官网上cuDNN的各种版本:https://developer.nvidia.com/rdp/cudnn-archive
下载好之后,解压,分别将 【.h、.lib、.dll 】文件分别拷贝到CUDA对应的【include, lib/x64,bin 】文件夹下即可。
4、安装TensorFlow(GPU)
这个其实就比较简单,TensorFlow(GPU)的安装其实只需要打开cmd,输入pip install tensorflow-gpu,即可。
【根据提示可能需要你升级一下pip,仔细阅读报错提示,自行解决问题即可。】
如下图,大概就是长这个样子:
可能有点小久,网速一定要给力,安装好之后,怕不是会泪流满面。不,我没有
5、测试TensorFlow是否安装成功
既然都装完啦,肯定要测试一下嘛,对吧~ ~ ~
然后,其实很多博文其实都会有给出测试栗子啦,这里我给出一个很普遍的栗子 ~
我的测试用例:https://blog.csdn.net/weixin_43522055/article/details/99617967
★关于安装CUDA时图片版本为10.1的解释★
安装的时候我尝试了两个版本,第一次下的是10.1,但是由于缺乏了某个文件,所以重下了一次。然而第二次下的是10.0版,由于重下的时候我忘了截图我健忘
,所以我沿用了10.1版的图。但是其实内容几乎是一样的,只需要把10.1的部分换成10.0即可,其他都不变,感谢体谅~
首次配置TensorFlow(GPU),希望能够帮到有需要的你 ~
小白一枚,文字略显拙劣,有错误欢迎提出~