TensorFlow
关于TensorFlow
TensorFlow™ 是一个采用
数据流图(data flow graphs),用于数值计算的开源软件库节点(Nodes)在图中表示
数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等
TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于
机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域
什么是数据流图(Data Flow Graph)?
数据流图用"结点"(nodes)和"线"(edges)的有向图来描述数学计算"节点"一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点"线"表示"节点"之间的输入/输出关系,这些数据”线”可以输运”size可动态调整”的多维数据数组,即"张量"(tensor)张量从图中流过的直观图像是这个工具取名为”Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成
异步并行地执行运算

TensorFlow安装
1 | [root@sparsematrix ~]# pip install -i https://pypi.douban.com/simple/ tensorflow |
运行一个TensorFlow演示模型
1 | # -*- coding: utf-8 -*- |

TensorFlow基础知识
- 使用图(graphs)来表示计算
- 在会话(Session)中执行图
- 使用张量(tensors)来代表数据
- 通过变量(Variables)维护状态
- 使用供给(feeds)和取回(fetches)将数据传入或传出任何操作
概述
- TensorFlow是一个以图(graphs)来表示计算的编程系统,图中的节点被称之为operation
- 一个op获得零或多个张量(tensors)执行计算,产生零或多个张量
- 张量是一个按类型划分的多维数组
你可以将将小组图像集表示为一个思维浮点数数组,这四个维度分别是[batch,height,width,channels]
TensorFlow的图是一种对计算的抽象描述
- 在计算开始前,图必须在会话(Session)中被启动,会话将图的op分发到如CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生张量(tensor)返回
计算图
- TensorFlow可按两个阶段组织起来:
构建阶段和执行阶段,前者用于组织计算图,后者利用session中执行计算图中的op操作 - 例如:在构建阶段创建一个图来表示和训练神经网络,然后在执行阶段反复执行一组op来实现图中的训练
- TensorFlow支持C、C++、Python编程语言
构建计算图
- 基于op建立图的时候一般不需要任何的输入源(source op),例如输入常量(Constance),再将他们传递给其他op执行运算
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/07/07/TensorFlow/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得