Tensorflow源码解读
发布于 2021-10-10 16:12
第一部分 Tensorflow c lib的编译
Tensorflow的下载和编译 | 本篇介绍编译的过程及注意事项。 |
第二部分 Tensorflow Eclipse环境的搭建
由于我们是要研究tensorflow的实现,所以用一个简单的c程序来调用tensorflow c library来用gdb调试。
正常的使用python写程序,然后由python调用so文件,但那样没办法调试到tensorflow内部。
TensorFlow工程创建及设置 | |
基于tensorflow c lib调试的主程序 |
第三部分 Tensorflow 源码调试
本部分介绍Tensorflow的实现机制。
启动后,ops和op kernels的定义由静态变量声明
然后根据用户程序生成计算图,查找ops的声明调用ops的factory函数注册ops并付给图中的node
对生成的图进行优化剪裁
创建executor,把root node喂给executor开始计算图的执行,完成后返回给主线程结束程序
TensorFlow op和op kernel的注册 | TensorFlow so文件加载时完成TensorFlow op和op kernel的注册。另一篇TF Operation的注册 |
TensorFlow图的构建 | 本文就来分析tensorflow图的构建,以及运行图的设备和线程池的创建。TensorFlow使用数据流图将计算表示为独立的指令之间的依赖关系,数据流是一种用于并行计算的常用编程模型。在数据流图中,节点表示计算单元,边缘表示计算使用或产生的数据。 |
TensorFlow Session的创建 | 本文介绍TensorFlow Session的创建。TensorFlow使用Session 类来表示客户端程序(通常用Python 程序,但也提供了其他语言的类似接口,这儿就是用C接口)与 C++ 运行时之间的连接。Session 对象使我们能够访问本地机器中的设备和使用分布式 TensorFlow 运行时的远程设备。它还可缓存关于Graph 的信息,使您能够多次高效地运行同一计算。Session接受Graph参数和Options选项参数,Options参数可以指定使用的设备等信息。 |
TensorFlow Session的Setup | |
TensorFlow Executor的创建 | |
tf-operation的创建 | |
TensorFlow计算图的创建 | |
TensorFlow计算图的优化 | |
TF 计算图的执行 | |
Tensorflow C API实现卷积计算 | |
Tensorflow 算法优化器验证 | |
Tensorflow 函数式编程的测试 |
第四部分 Tensorflow常用实例
本部分介绍Tensorflow一些常用的实例。
Tensorflow Embedding原理 | |
Tensorflow Pooling池化原理 | |
Tensorflow 文本分类实例 | |
Tensorflow Conv2D和MaxPool2D原理 | |
Tensorflow 图像CNN分类解析 | |
Tensorflow LSTM原理 | |
第五部分 基于Tensorflow的生成对抗实例
本部分介绍基于Tensorflow的GAN。
GAN生成对抗网络的Keras实现 | |
CGAN与GAN的区别 | |
ACGAN与CGAN的区别 | |
WGAN与DCGAN的区别 | |
WGAN-GP与WGAN的区别 | |
CycleGAN模型原理 |
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材