tfdictionarystructure - juedaiyuer/researchNote GitHub Wiki

tensorflow的目录结构

几个重要目录的简单介绍

  • 目录core 该目录为tensorflow的C++源码的核心存放地点,接下来我们会对该目录中存放的各个模块进行简要介绍。
  • 目录python 该目录下存放了tensorflow使用python编写的相关代码,个人感觉该部分代码主要是使用python封装了相关的机器学习算法,但最终的计算操作是通过调用目录core中的C+逻辑实现的。这样做的好处是利用了python较方便的编程特性和C++较高效的执行效率。
  • 目录tensorboard tensorborad是tensorflow中非常有特色的一个模块,该模块可以用于生成模型训练中实时生成图表,用于监控模型的训练程度。
  • 目录models 该目录下存放这多个使用pyton实现的模型实例。
  • 目录contrib 该目录下存放有其他项目贡献者添加的相关贡献代码,由于tensorflow受关注程度较高,目前该目录正急剧膨胀。
  • 其他

core目录结构

  • 目录common_runtime 该目录下包含了tensorflow中session执行的通用逻辑流程。
  • 目录distributed_runtime tensorflow 与分布式相关的执行逻辑。
  • 目录graph tensorflow图相关操作的逻辑。由于tensorflow中的数据计算本质上是一个图状结构的计算流程,该过程中存在将图进行切分并且并行化执行的可能性。该目录下的代码逻辑即为对图数据进行结构化定义并进行拆分的相关内容。
  • 目录framework 该目录下对tensorflow进行计算过程中的通用组件进行了定义和实现。
  • 目录kernels 对tensorflow中各个单步操作的具体实现。 该目录中共有约470个文件,其中414个文件和op相关,该目录下包含了大量的tensorflow中单步操作的实现方式。(如Variable())
  • 目录ops 对kernel/ 下的op进行注册和对外声明。
  • 目录models 实现了几个tensorflow支持的计算模型,该部分代码由python实现。
  • 目录client/public tensorflow对外api的定义和实现
  • 目录util/lib 一些公用的调用方法。
  • 目录protobuf tensorflow下各个模块间进行数据传输的数据结构定义,通过proto进行配置实现。
  • 目录user_ops 用户可进行编写自己的op并添加到该目录。