Tensorflow 源码阅读

好久没有看tensorflow了,今天打开《Tensorflow:实战Google深度学习框架》的第五章 看到Tensorflow模型持久化那里。看到了tf.train.Saver() 和 tf.train.import_meta_graph。代码小白,突然想看看tensorflow的低层源码是怎么写的。

推荐网站:
https://www.zhihu.com/question/41667903
https://github.com/DjangoPeng/tensorflow-in-depth/blob/master/contents.md

https://blog.csdn.net/real_myth/article/details/51782207

tensorflow的白皮书看明白了,大致模型就明白了:
http://download.tensorflow.org/paper/whitepaper2015.pdf
中文翻译白皮书

学习线路:
看Paper,了解TensorFlow核心概念
看官方文档,了解Usage
参照文档写Demo
使用TensorBoard加深印象
搭建分布式TensorFlow
学习深度学习算法
写更多的Demo
学更多的深度学习算法
写更多的Demo
参与TensorFlow社区讨论
看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)

其他文档

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值