TensorFlow学习笔记1
TensorFlow学习笔记1
1、TensorFlow:谷歌第二代人工智能学习系统
2、TensorFlow顾名思义Tensor+Flow。Tensor的意思是张量,Flow的意思是流动,合起来就是张量的流动。
3、系统架构及编程模型。其中系统架构如图1所示,编程模型如图2所示。
图1 TensorFlow系统架构图
图2 TensorFlow编程模型
4、TensorFlow框架可以分为三个部分
① 数据模型
② 计算模型
③ 运行模型
5、数据模型——张量和节点
① TensorFlow中所有的数据都通过张量(tensor)的形式表示。
② 张量 ≈ 多维数组
③ 张量只是对TensorFlow中运算结果的引用,不存真实数据,只保存计算过程。
④ 张量的作用1:引用中间计算结果。
⑤ 张量的作用2:获得计算结果。
⑥ 图中的节点又称为算子,它代表一个操作(operation, OP),一般用来表示施加的数学运算,也可以表示数据输入(feed in)的起点以及输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。
6、计算模型——计算图和边
① TensorFlow程序一般分两个阶段:定义计算图中的计算-->执行计算。
② Flow(“流”):表达了张量之间通过计算相互转换的过程。
③ TensorFlow 的边有两种连接关系:数据依赖和控制依赖。实线边表示数据(张量)依赖,即依赖上级节点的张量。 虚线边表示控制依赖,可以用于控制操作的运行,这被用来确保 happens-before 关系,这类边上没有数据流过,但源节点必须在目的
节点开始执行前完成执行。
7、运行模型——会话
① 执行定义好的计算。
② 会话拥有并管理TensorFlow程序运行时的所有资源。
8、TensorFlow的设计理念。它采用符号式编程,详情可以参考图3。
图3 TensorFlow符号式编程详解图