数据流
数据流是一种用于并行计算的常用编程模型。数据流图中,节点(Node)表示计算单元(OP),边(Edge)表示计算使用或产生的数据(Tensor)。
数据流为TensorFlow提供多项优势:
- 并行处理:使用明确的Edge来表示Node之间的依赖关系,系统可以识别能够并行执行的操作。
- 分布式执行:使用明确的边缘表示操作之间流动的值,TensorFlow可以将程序划分到连接至不同机器的多台设备上(CPU/GPU/TPU),TensorFlow在这些设备间进行必要的通信和协调。
- 编译:XLA编译器生成更快的代码。
- 可移植性:不依赖语言。比如可以使用Python构建数据流图,将其存储在SaveModel中,然后使用C++程序进行恢复。
tf.Graph
tf.Graph包含两类信息:
- 图结构:图的节点和边
-
图集合:TensorFlow提供的一种在tf.Graph中存储元数据集合的通用机制。例如,当你创建tf.Variable时,系统默认将其添加到表示“全局变量”和“可训练变量”的集合中,当你后续创建tf.train.Saver或tf.train.Optimizer时,这些集合中的变量将用作默认参数。
....待补充...