base on tensorflow 2.6.2 source
TensorFlow 模块化和分层设计十分精良,具体模块和层层如下:
整个框架以C API为界,分为前端和后端两大部分。
-
前端:提供编程模型,多语言的接口支持,比如Python Java C++等。通过C API建立前后端的连接,后面详细讲解。
-
后端:提供运行环境,完成计算图的执行。进一步分为4层
- 运行时:分为分布式运行时和本地运行时,负责计算图的接收,构造,编排等。
- 计算层:提供各op算子的内核实现,例如conv2d, relu等
- 通信层:实现组件间数据通信,基于GRPC和RDMA两种通信方式
- 设备层:提供多种异构设备的支持,如CPU GPU TPU FPGA等
目录 | 功能 |
---|---|
tensorflow/c | C API代码 |
tensorflow/cc | C++ API代码 |
tensorflow/compiler | XLA,JIT等编译优化相关 |
tensorflow/core | tf核心代码 |
tensorflow/examples | 例子相关代码 |
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 | 工程编译配置相关 |
tensorflow/docs_src | 文档相关文件 |
tensorflow/contrib |
目录 | 功能 |
---|---|
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头文件 |