Tensorflow源码 目录树

tensorflow/

  • tensorflow/ 该目录下存放着tensorflow的核心代码
    • contrib/ 该目录下存放有其他项目贡献者添加的相关贡献代码。由于tensorflow受关注程度较高,目前该目录正急剧膨胀。
    • core/ 后台C++实现部分。包含了主要的 C++代码 和 runtimes 。该目录为tensorflow的C++源码的核心。
      • common_runtime/ tensorflow 普通的 执行逻辑。
      • distributed_runtime/ tensorflow 与分布式相关的 执行逻辑。
      • framework/ 包含主要的 抽象图计算 和 其他有用的library 。对tensorflow进行计算过程中的 通用组件 进行了定义和实现。
      • graph/ tensorflow 图相关操作 的逻辑。 由于tensorflow中的数据计算本质上是一个图状结构的计算流程,该过程中存在将图进行切分并且并行化执行的可能性。该目录下的代码逻辑即为对图数据进行结构化定义并进行拆分的相关内容。
      • kernels/ 对tensorflow中各个 单步op 的具体实现。
      • lib/ 一些 公用的 调用方法 。同 util /
      • ops/ 对 kernel/ 下的op进行注册和对外声明。
      • platform/ 包含 抽象出平台 和 其他 导入库(protobuf等) 的代码
      • protobuf/ tensorflow下各个 模块间 进行 数据传输 的 数据结构定义,通过proto进行配置实现。
      • public/ 定义 Session
      • user_ops/ 存放 自己编写 的 op
      • util/ 一些 公用的 调用方法 。同 lib/
      • 其他 文件夹/
      • 其他 文档
    • examples/ 一些示例(如ios、android系统的示例)
    • g3doc/ 是针对c++、python的版本的代码文档
    • python/ 前台Python接口。 该目录下存放了tensorflow使用python编写的相关代码,是和 core/ 对应的python实现目录。使用python封装了 * 对 core/ 中实现的相关的机器学习算法 的调用 * 。 同时利用了 python方便的编程特性 和 C++高效的执行效率 。
      • framework/ 包含 图的python抽象 等,(还没深入验证过的: “ 其中很多被序列化为 proto 或被传递到 swigged session 调用 ” )
      • kernel_tests/ 单元测试代码 和 示例代码
      • ops/ 核心python接口
      • platform/ 和上面C++部分的platform(core/platform/)差不多, 对python I/O、单元测试等做了轻量级的包装。
    • stream_executor/ 流处理
    • tensorboard/ tensorflow独家模块。用于模型训练中 实时生成 图表,以监控 模型的训练程度
    • tools/ 一些 工具杂项(如pip、git)
    • user_ops/ 存放 自己编写 的 op
  • third_party/
  • tools/
  • util/
  • configure文档 该文件用于配置tensorflow的安装环境,运行该文件并完成tensorflow的安装环境配置后,输入相应bazel指令即可完成代码的编译工作(需要先安装bazel)
  • 其他文档


P.S.:

很多博客中提到的 models/(位于根目录下,该目录下存放这多个使用python实现的模型实例),我并没有看到。估计是最新版的Tensorflow源码取消了这个文件夹。

Ref:

google讨论组Tensorflow快速入门3–代码结构及模型例子



本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网杂技

利用机器学习把草图自动生成HTML

项目地址 https://github.com/ashnkumar/sketch-code 可以先clone到本地

1582
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版第四章函数的逆向

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

941
来自专栏C/C++基础

Linux下Socket网络编程send和recv使用注意事项

ssize_t send( SOCKET s, const char *buf, size_t len, int flags );

1523
来自专栏磨磨谈

Ceph部署的时候修改默认权重

部署集群的时候权重是默认生成的,这个是根据磁盘大小分配的,我们有的时候需要去修改一下这个默认权重

621
来自专栏技术博文

smarty模板引擎原理解析

//php 控制器文件 <?php //引入模板引擎文件 include("20130304.php"); $smarty = new TinySmarty()...

3406
来自专栏ppjun专栏

记录一个SQLException

我前端form-data上传图文到后台时,返回一个服务器内部异常SQLException: Incorrect string value: '\xE5\x92\...

1214
来自专栏hotqin888的专栏

HydromCMS增加封面、完善自定义目录功能、目录结构的修改功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1142
来自专栏Albert陈凯

Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计

Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计 DimensionConverter类作用&问题 Dimension...

35310
来自专栏算法channel

完整教程:使用caffe测试mnist数据集

想要入门深度学习没有几个趁手的兵器是不行的,目前流行的框架tensorflow、pytorch、caffe等,笔者也是最近接触了caffe,发现caffe非常适...

1526
来自专栏性能与架构

Linux入侵检测工具 - RKHunter

RKHunter是Linux系统平台下的一款开源入侵检测工具 特点 (1)安装便捷,运行快速 (2)扫描范围全,能够检测各种已知的rootkit特征码、端...

5207

扫码关注云+社区

领取腾讯云代金券