本章讲解TensorFlow的源码结构。
下面的内容我们一TF1.0的代码为例,介绍TF的源码结构,如果是其他版本,则结构可能会略有差异。
根目录结构
首先整体看一下整体的目录结构:

图1:TF根目录
然后了解一下每个目录的功能:
| 目录 | 功能 | 
|---|---|
| tensorflow/c | C API代码 | 
| tensorflow/cc | C++ API代码 | 
| tensorflow/compiler | XLA,JIT等编译优化相关 | 
| tensorflow/contrib | contributor贡献的代码,这个目录并不是官方支持的, 很有可能在高级 API 完善后被官方迁移到核心的 TensorFlow 目录中或去掉 | 
| tensorflow/core | tf核心代码 | 
| tensorflow/docs_src | 文档相关文件 | 
| tensorflow/examples | 例子相关代码 | 
| tensorflow/g3doc | TF文档 | 
| tensorflow/go | go API相关代码 | 
| tensorflow/java | java API相关代码 | 
| tensorflow/python | Python API相关代码 | 
| tensorflow/stream_executor | 并行计算框架代码 | 
| tensorflow/tools | 各种辅助工具工程代码,例如第二章中生成Python安装包的代码就在这里 | 
| tensorflow/user_ops | tf插件代码 | 
| third_party/ | 依赖的第三方代码 | 
| tools | 工程编译配置相关 | 
| util | 工程编译相关 | 
其中tensorflow/core是tf的核心模块
核心目录结构

图2:TF Core目录
<center>图2:TF Core目录</center>
目录功能如下:
| 目录 | 功能 | 
|---|---|
| tensorflow/core/common_runtime | 公共运行库 | 
| tensorflow/core/debug | 调试相关 | 
| tensorflow/core/distributed_runtime | 分布式执行模块 | 
| tensorflow/core/example | 例子代码 | 
| tensorflow/core/framework | 基础功能模块 | 
| tensorflow/core/graph | 计算图相关 | 
| tensorflow/core/grappler | 模型优化模块 | 
| tensorflow/core/kernels | 操作核心的实现代码,包括CPU和GPU上的实现 | 
| tensorflow/core/lib | 公共基础库 | 
| tensorflow/core/ops | 操作代码 | 
| tensorflow/core/platform | 平台实现相关代码 | 
| tensorflow/core/protobuf | .proto定义文件 | 
| tensorflow/core/public | API头文件 | 
| tensorflow/core/user_ops | |
| tensorflow/core/util | 
小结
本章比较简短,粗略的梳理了一下源码目录结构。在未来章节中,我会围绕具体的主题功能来细致的分析涉及到的源代码。
作者:Jony0917
链接:https://www.jianshu.com/p/61093b4d1544
 
		 随时随地看视频
随时随地看视频 
				 
				 
				 
				 
				