TensorFlow技术内幕(三):源码结构

本章讲解TensorFlow的源码结构。

下面的内容我们一TF1.0的代码为例,介绍TF的源码结构,如果是其他版本,则结构可能会略有差异。

根目录结构

首先整体看一下整体的目录结构:

TensorFlow技术内幕(三):源码结构_第1张图片

图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 工程编译相关

表1:TF根目录

其中tensorflow/core是tf的核心模块

核心目录结构

TensorFlow技术内幕(三):源码结构_第2张图片

图2:TF Core目录

目录功能如下:

目录 功能
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

表2:TF Core目录

小结

本章比较简短,粗略的梳理了一下源码目录结构。在未来章节中,我会围绕具体的主题功能来细致的分析涉及到的源代码。

你可能感兴趣的:(TensorFlow技术内幕(三):源码结构)