『TensorFlow Internals』笔记_源码结构

零、资料集合

另附:

Ubuntu下编译源码指南

一、代码获取

克隆源码:

git clone https://github.com/tensorflow/tensorflow.git

切换到r1.4稳定分支:

cd tensorflow

git check r1.4

二、源码结构

tree -d -L 1 ./tensorflow

 

目录说明
/c C++ API,也是一些 Python API 与 C 层的接口部分
/cc  
/compiler 即时编译的工具内容
/contrib 一些额外的库,大部分由第三方添加,其中一些正式确定的内容会移出去
/core TensorFlow 的核心运行时代码
/core/distributed_runtime 分布式运行时代码
/core/framework 运行时中相对最底层的架构部分,涉及到很多基础结构的定义、与 Protobuf 的结合部分等等
/core/graph 运行时中对计算图的定义和处理
/core/kernels 计算图中 Op 的核心计算部分(即 Op 的 Kernel 函数)
/core/lib 运行时中调用的其他库的接口?
/core/ops C 部分的 Op 分成两个部分,核心计算函数在前面的 /kernels 目录中,这里存的是 Op 面向上层 Python 运行时的注册部分内容。
详见 TensorFlow 拆包(三):Graph 和 Node
/core/platform 针对不同平台的额外内容
/core/profiler 运行时的调优工具?
/core/protobuf Protobuf 的定义
/core/util 其他的一些工具
/python TensorFlow Python 部分的运行时和 API

重点文件夹如下:

core

内核的源码,C++实现。

python

接口API,python实现。

contrib

第三方库,实验性,当 contrib 标准化,并从 中,并正式对外发布。

stream_executor

提速组件,并行化、分布式相关。

compiler

优化计算图,主要优化OP的分解组合方式,找到尽可能好的图构建方式,能够分析运行时的计算图,将多个 OP 融
合在一起,并生成更高效的本地机器代码,提升计算图的执行效率。

三、逻辑构架图

 

posted @ 2018-09-05 11:40  叠加态的猫  阅读(1384)  评论(0编辑  收藏  举报