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;

TensorFlow 简介相关推荐

  1. 《Web安全之机器学习入门》一 2.2 TensorFlow简介与环境搭建

    2.2 TensorFlow简介与环境搭建 TensorFlow是一个采用数据流图.用于数值计算的开源软件库(见图2-5).节点在图中表示数学操作,图中的线则表示在节点间相互联系的多维数据数组,即张量 ...

  2. 深度学习及TensorFlow简介

    深度学习及TensorFlow简介 深度学习目前已经被应用到图像识别,语音识别,自然语言处理,机器翻译等场景并取得了很好的行业应用效果.至今已有数种深度学习框架,如TensorFlow.Caffe.T ...

  3. MOOC网神经网络与深度学习TensorFlow实践1——TensorFlow简介、python语言基础

    TensorFlow简介 TensorFlow环境的安装和使用 使用清华镜像的提示更改conda python包源 创建新的虚拟环境,在环境的交互界面用pip安装各种包. python语言基础

  4. MOOC网TensoroFlow入门实操课程1——tensorflow简介、计算机视觉、卷积简介、人马分类识别

    课程地址:https://www.icourse163.org/learn/youdao-1460578162?tid=1461280442#/learn/content?type=detail&am ...

  5. TensorFlow简介:向量对象

    目录 介绍 背景 向量作为数字列表 使用NumPy库 使用TensorFlow 使用代码 总结 介绍 在机器学习中,向量可以用作表示数字数据的好方法.使用向量时,我们可以满足以下基本操作: 添加两个向 ...

  6. TensorFlow学习笔记(1)--TensorFlow简介,常用基本操作

    要将深度学习更快且更便捷地应用于新的问题中,选择一款深度学习工具是必不可少的步骤. TensorFlow是谷歌于2015年11月9日正式开源的计算框架.TensorFlow计算框架可以很好地支持深度学 ...

  7. 深度学习---tensorflow简介

    什么是深度学习? 在机器学习流行之前,都是基于规则的系统,因此做语音的需要了解语音学,做NLP的需要很多语言学知识,做深蓝需要很多国际象棋大师. 而到后来统计方法成为主流之后,领域知识就不再那么重要, ...

  8. 【AI with ML】第 1 章 :TensorFlow 简介

  9. 理解和实现分布式TensorFlow集群完整教程

    手把手教你搭建分布式集群,进入生产环境的TensorFlow 分布式TensorFlow简介 前一篇<分布式TensorFlow集群local server使用详解>我们介绍了分布式Ten ...

最新文章

  1. C语言图书管理系统注册功能,图书管理系统的c语言源程序
  2. ViewPager 入门一
  3. .Net下的HashTable
  4. linux查询关键词上下行_【已解决】Linux下通过关键字模糊查找搜索文件
  5. 风险预测模型_随访78个月,仁济医院完成世界首个间质性肺病风险预测模型
  6. [二叉树] 二叉树中的最大路径和---leetcode124
  7. Windows10 如何删掉内置的 skype ?
  8. 四省卫视联手办春晚 展现各地风俗年味
  9. otf VS ttf images
  10. 批量读取word docx文件指定表格内容,保存在excel文件中
  11. 黑苹果El Captain 10.11.2 安装
  12. React hooks组件通信
  13. lotus notes 闪退_win10系统Lotus notes邮箱闪退的恢复办法
  14. 12.15 村长项目借口
  15. 上天入地无所不能的C语言(一)
  16. Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.Gener
  17. Java实战项目之人力资源管理系统【源码+课后指导】_Java毕业设计/计算机毕业设计
  18. 视频只有声音没有图像?(收藏)
  19. 手机品牌,型号,分辨率,系统,版本号
  20. ntp实现多台服务器时间同步[实测]

热门文章

  1. ffmpeg分析系列
  2. wince ./configure
  3. H.264将普及 视频编码讲坛之H.264前世今生
  4. 【洛谷P1288】取数游戏II
  5. jquery评分效果Rating精华版
  6. WEBGL学习【四】模型视图矩阵
  7. 安装Node.js和npm
  8. 【Javascript 拾遗之三】Closure 闭包
  9. java_IO总结(一)
  10. Linux文件系统构成