TensorFlow是一个采用数据流图(data flow graphs)用于數值计算的开源软件库。节点(Nodes)在图中表示数学操作图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)
数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent
variable)的终点“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因一旦输入端的所有张量准備好,节点将被分配到各种计算设备完成异步并行地执行运算
在 TF 中发生的所有事,都是在会话(Session) 中进行的所以,当你在 TF 中编写一个加法时其实你只是设计了一个加法操作,而不是实际添加任何东西所有的这些设计都是会在图(Graph)中产生,你会在图中保留这些计算操作和张量而不是具体的值。
TensorFlow程序通常被组织成一个构建阶段和一个执行阶段. 在构建阶段, op的执行步骤被描述成一个图. 在执行阶段, 使用會话执行执行图中的op我们来构建一个简单的计算图。每个节点采用零个或多个张量作为输入并产生张量作为输出。一种类型的节点是┅个常数像所有TensorFlow常数一样,它不需要任何输入它输出一个内部存储的值。我们可以创建两个浮点型常量node1
node2如下所示:
由两个32位浮点数組成的复数:实数和虚数.
|
创建Tensorflow的集群描述信息,其中ps和worker为作业名称通过指定ip地址加端口创建,
创建一个服务(主节点或者工作节点服务)用于运行相应作业上的计算任务,运行的任务在task_index指定的机器上启动,例如在不同的ip+端口上启动两个工作任务
工作人任务端的代码在指定的设备上执行张量运算,指定代码运行在CPU或者GPU上
|