TensorFlow学习笔记1

TensorFlow学习笔记1

1、TensorFlow:谷歌第二代人工智能学习系统


2、TensorFlow顾名思义Tensor+Flow。Tensor的意思是张量,Flow的意思是流动,合起来就是张量的流动


3、系统架构及编程模型。其中系统架构如图1所示,编程模型如图2所示。

   TensorFlow学习笔记1

图1 TensorFlow系统架构图

TensorFlow学习笔记1

图2 TensorFlow编程模型


4、TensorFlow框架可以分为三个部分

    ① 数据模型

    ② 计算模型

    ③ 运行模型


5、数据模型——张量和节点

    ① TensorFlow中所有的数据都通过张量(tensor)的形式表示。

    ② 张量 ≈ 多维数组

    ③ 张量只是对TensorFlow中运算结果的引用,不存真实数据,只保存计算过程。

    ④ 张量的作用1:引用中间计算结果。

    ⑤ 张量的作用2:获得计算结果。

    ⑥ 图中的节点又称为算子,它代表一个操作operationOP),一般用来表示施加的数学运算,也可以表示数据输入feed in)的起点以及输出push out)的终点,或者是读取/写入持久变量persistent variable)的终点。

6、计算模型——计算图和边

    ① TensorFlow程序一般分两个阶段:定义计算图中的计算-->执行计算。

    ② Flow(“流”):表达了张量之间通过计算相互转换的过程。

    ③ TensorFlow 的边有两种连接关系:数据依赖控制依赖实线边表示数据(张量)依赖,即依赖上级节点的张量。 虚线边表示控制依赖,可以用于控制操作的运行,这被用来确保 happens-before 关系,这类边上没有数据流过,但源节点必须在目的
节点开始执行前完成执行。



7、运行模型——会话

    ① 执行定义好的计算。

    ② 会话拥有并管理TensorFlow程序运行时的所有资源。


8、TensorFlow的设计理念。它采用符号式编程,详情可以参考图3。

TensorFlow学习笔记1

图3 TensorFlow符号式编程详解图