[论文笔记]Tensorflow White Paper

论文:TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems

抽象

Computation Graph

整张图如同管道结构,数据流就是其中的水流。Control Dependency 描述了管道的有向结构,而反向传播可以通过增加新的管道节点来实现。

Operation

即计算操作的抽象,相当于映射、函数。

Kernel

执行计算的单元,CPU或GPU

Session

Client-Server结构,进行计算或者调整图结构则视为一次会话

Variables

特殊的Operation,返回一个句柄,指向持久化的张量,这些张量在整张图的计算中不会被释放。

Device

对Kernel的封装,包含类型属性,实行注册机制维护可供使用的Device列表。

多机实现

要考虑两个问题:

  1. 计算节点在Device间的分配问题
  2. Devices之间的通信

针对这两个问题,分别建立了两个抽象层。

计算节点分配的C/S机制

master
client提出计算请求,master负责切割计算图为子图,分配子图到Devices。分配时,会模拟执行子图,并采取贪心的策略分配。

不同Device之间的发送和接收节点

rec-send

在每个Device上建立Receive和Send节点,负责与其他Device通信。

优化

数据化并行

Parallelize

上:单线程,同步数据并行
下:多线程,异步更新

拾遗

文章中很多内容并没涉及到(看不懂)。

小结

TensorFlow是个庞大的计算框架,不仅仅定位于深度网络。其对计算图的抽象和数据、计算资源的分配的处理是值得关注的。

[论文笔记](ResNet)Deep Residual Learning for Image Recognition 编程方法论:重构
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×