TensorFlow介绍
- Tagline:An open-source software library for Machine Intelligence.
- Definition:TensorFlow TM is an open source software library for
- numerical computation using data flow graphs.
- GitHub:https://github.com/tensorflow/tensorflow
- Website:https://tensorflow.org/ or https://tensorflow.google.cn/
- 中文社区:http://www.tensorfly.cn/
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。
其命名来源于本身的原理,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端的计算过程。张量从图中流过的直观图像是其取名为“TensorFlow”的原因。
TensorFlow的关键点是:“Data Flow Graphs”,表示TensorFlow是一种基于图的计算框架,其中节点(Nodes)在图中表示数学操作,线(Edges)则表示在节点间相互联系的多维数据数组,即张量(Tensor),这种基于流的架构让TensorFlow具有非常高的灵活性,该灵活性也让TensorFlow框架可以在多个平台上进行计算,例如:台式计算机、服务器、移动设备等。
备注:TensorFlow的开发过程中,重点在于构建执行流图。
核心概念:数据流图
数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。
“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。
“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。
张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。
图中包含:输入(input)、塑形(reshape)、ReLu层(ReLu Layer)、Logit层(Logit Layer)、Softmax、交叉熵(cross entropy)、梯度(gradient)、SGD训练(SGD Trainer)等部分,是一个简单的回归模型
TensorFlow特性
- 高度的灵活性:只要能够将计算表示成为一个数据流图,那么就可以使用TensorFlow。
- 可移植性:TensorFlow支持CPU和GPU的运算,并且可以运行在台式机、服务器、手机移动端设备等等。
- 自动求微分:TensorFlow内部实现了自动对于各种给定目标函数求导的方式。
- 多种语言支持:Python、C++
- 性能高度优化
官网直观案例
看这个图不就是个神经网络嘛,所以才会用这种框架啊。
输入x1 x2就是一个个特征 中间的瘾层 输出层都可以自己添加节点,可以自己去试着玩一玩。
为什么选择Tensorflow
Tensorflow安装
- 要求:Python必须是64位
- 根据TensorFlow的计算方式,TensorFlow的安装分为CPU版本和GPU版本
- 对于Python3.5或者Python3.6,可以使用pip install tensorflow(安装CPU版本)和pip install tensorflow-gpu(安装GPU版本)
- 对于Python2.7,只能通过源码编译来安装TensorFlow(Windows操作系统)
- 备注:TensorFlow-GPU要求机器的显卡必须是NVidia的显卡。
在安装GPU版本的时候,可以先通过 pip install tensorflow-gpu==1.9.0 安装,然后通过 import tensorflow as tf 导入,因为还没有安装 CUDA和CuDNN,会报需要安装的 CUDA的版本,然后再去安装对应版本的 CUDA,CuDNN选择CUDA的对应版本。
TensorFlow CPU版本安装:
环境:Python 3.6
安装命令:pip install tensorflow==你自己的版本号
TensorFlow GPU版本安装:
环境:Python 3.6、NVIDIA显卡
安装过程:
- 安装CUDA SDK(默认会将bin文件夹添加到PATH环境变量中,即安装CUDA和cuDNN)
- 安装TensorFlow GPU,安装命令:pip install tensorflow-gpu==你自己的版本
TensorFlow-GPU安装-CUDA
CUDA下载安装链接:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下载安装链接:https://developer.nvidia.com/rdp/cudnn-archive
备注:具体的CUDA版本根据导入tensorflow时提示的异常来选择;即先安装tensorflow-gpu,然后在python的命令行执行:import tensorflow,会出现如下异常,则表示我们需要安装的是CUDA 8.0版本,至于cuDNN选择和CUDA对应版本即可。
TensorFlow-GPU安装-cuDNN
除了安装CUDA外,还需要安装对应版本的cuDNN,将cuDNN的压缩包解压,然后将压缩包中的三个文件夹全部放到CUDA对应的根目录下,根据环境变量找到对应的根目录:C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v8.0;