书 名 深入理解TensorFlow 架构设计与实现原理
丛 书 名 图灵原创
标准书号 ISBN 978-7-115-48094-1
编目分类 TP18
作 者 彭靖田 林健 白小龙
译 者 --
责任编辑 王军花
开 本 16 开
印 张 23
字 数 544 千字
页 数 354 页
初版时间 2018年5月
定 价 79.00 元
本书以TensorFlow 1.2为基础,从基本概念、内部实现和实践等方面深入剖析了TensorFlow。书中首先介绍了TensorFlow设计目标、基本架构、环境准备和基础概念,接着重点介绍了以数据流图为核心的机器学习编程框架的设计原则与核心实现,紧接着还将TensorFlow与深度学习相结合,从理论基础和程序实现这两个方面系统介绍了CNN、GAN和RNN等经典模型,然后深入剖析了TensorFlow运行时核心、通信原理和数据流图计算的原理与实现,后全面介绍了TensorFlow生态系统的发展。第 一部分 基础篇
第 1章 TensorFlow系统概述 2
1.1 简介 2
1.1.1 产生背景 2
1.1.2 独特价值 3
1.1.3 版本变迁 4
1.1.4 与其他主流深度学习框架的对比 6
1.2 设计目标 7
1.2.1 灵活通用的深度学习库 8
1.2.2 端云结合的人工智能引擎 9
1.2.3 高性能的基础平台软件 10
1.3 基本架构 12
1.3.1 工作形态 12
1.3.2 组件结构 13
1.4 小结 14
第 2章 TensorFlow环境准备 15
2.1 安装 15
2.1.1 TensorFlow安装概述 15
2.1.2 使用Anaconda安装 17
2.1.3 使用原生pip安装 17
2.1.4 使用virtualenv安装 18
2.1.5 使用Docker安装 19
2.1.6 使用源代码编译安装 20
2.1.7 Hello TensorFlow 22
2.2 依赖项 23
2.2.1 Bazel软件构建工具 24
2.2.2 Protocol Buffers数据结构序列化工具 25
2.2.3 Eigen线性代数计算库 27
2.2.4 CUDA统一计算设备架构 28
2.3 源代码结构 29
2.3.1 根目录 29
2.3.2 tensorflow目录 30
2.3.3 tensorflow/core目录 31
2.3.4 tensorflow/python目录 32
2.3.5 安装目录 33
2.4 小结 33
第3章 TensorFlow基础概念 34
3.1 编程范式:数据流图 34
3.1.1 声明式编程与命令式编程 34
3.1.2 声明式编程在深度学习应用上的优势 35
3.1.3 TensorFlow数据流图的基本概念 38
3.2 数据载体:张量 40
3.2.1 张量:Tensor 40
3.2.2 稀疏张量:SparseTensor 44
3.3 模型载体:操作 46
3.3.1 计算节点:Operation 46
3.3.2 存储节点:Variable 49
3.3.3 数据节点:Placeholder 53
3.4 运行环境:会话 55
3.4.1 普通会话:Session 55
3.4.2 交互式会话:InteractiveSession 59
3.4.3 扩展阅读:会话实现原理 59
3.5 训练工具:优化器 61
3.5.1 损失函数与优化算法 61
3.5.2 优化器概述 64
3.5.3 使用minimize方法训练模型 66
3.5.4 扩展阅读:模型训练方法进阶 68
3.6 一元线性回归模型的佳实践 72
3.7 小结 76
第二部分 关键模块篇
第4章 TensorFlow数据处理方法 78
4.1 输入数据集 78
4.1.1 使用输入流水线并行读取数据 78
4.1.2 创建批样例数据的方法 86
4.1.3 填充数据节点的方法 87
4.1.4 处理CIFAR-10数据集的佳实践 88
4.1.5 扩展阅读:MNIST数据集 91
4.2 模型参数 92
4.2.1 模型参数的典型使用流程 92
4.2.2 使用tf.Variable创建、初始化和更新模型参数 92
4.2.3 使用tf.train.Saver保存和恢复模型参数 98
4.2.4 使用变量作用域处理复杂模型 100
4.3 命令行参数 103
4.3.1 使用argparse解析命令行参数 103
4.3.2 使用tf.app.flags解析命令行参数 108
4.4 小结 111
第5章 TensorFlow编程框架 112
5.1 单机程序编程框架 112
5.1.1 概述 112
5.1.2 创建单机数据流图 114
5.1.3 创建并运行单机会话 116
5.2 分布式程序编程框架 118
5.2.1 PS-worker架构概述 118
5.2.2 分布式程序编程框架概述 120
5.2.3 创建TensorFlow集群 121
5.2.4 将操作放置到目标设备 124
5.2.5 数据并行模式 124
5.2.6 同步训练机制 125
5.2.7 异步训练机制 130
5.2.8 使用Supervisor管理模型训练 131
5.2.9 分布式同步训练的佳实践 133
5.3 小结 137
第6章 TensorBoard可视化工具 138
6.1 概述 138
6.2 可视化数据流图 142
6.2.1 名字作用域与抽象节点 142
6.2.2 可视化数据流图的佳实践 144
6.2.3 扩展阅读:汇总数据和事件数据 145
6.2.4 扩展阅读:揭秘tf.summary.FileWriter工作原理 147
6.3 可视化学习过程 149
6.3.1 汇总操作概述 149
6.3.2 使用tf.summary.scalar生成折线图 150
6.3.3 使用tf.summary.histogram生成数据分布图 152
6.3.4 使用tf.summary.image生成图像 154
6.3.5 使用tf.summary.audio生成音频 155
6.3.6 可视化MNIST softmax模型学习过程的佳实践 156
6.4 可视化高维数据 158
6.4.1 使用TensorBoard可视化高维数据 158
6.4.2 可视化MNIST数据集的佳实践 160
6.5 小结 163
第7章 模型托管工具:TensorFlow Serving 164
7.1 概述 164
7.2 系统架构 165
7.3 安装 167
7.3.1 使用APT安装ModelServer 168
7.3.2 使用源码编译安装ModelServer 169
7.4 佳实践 170
7.4.1 导出模型 170
7.4.2 发布模型服务 173
7.4.3 更新线上模型服务 174
7.5 小结 175
第三部分 算法模型篇
第8章 深度学习概述 178
8.1 深度学习的历史 178
8.1.1 感知机模型与神经网络 178
8.1.2 神经网络的寒冬与复苏 179
8.1.3 神经网络的发展与第二次寒冬 181
8.1.4 深度学习时代的到来 183
8.2 深度学习的主要应用 184
8.2.1 计算机视觉 185
8.2.2 自然语言处理 186
8.2.3 强化学习 188
8.3 深度学习与TensorFlow 190
8.4 小结 191
第9章 CNN模型 192
9.1 CNN 192
9.1.1 CNN简介 192
9.1.2 卷积层 193
9.1.3 激活层 195
9.1.4 池化层 195
9.1.5 全连接层 196
9.1.6 Dropout层 196
9.1.7 BN层 197
9.1.8 常用的CNN图像分类模型 197
9.2 TensorFlow-Slim 204
9.2.1 TensorFlow-Slim总体结构 204
9.2.2 datasets包和data包 205
9.2.3 preprocessing包 207
9.2.4 deployment包 207
9.2.5 nets包 209
9.2.6 TensorFlow-Slim佳实践 212
9.3 应用 216
9.3.1 物体检测 216
9.3.2 图像分割 221
9.4 小结 222
第 10章 GAN模型 223
10.1 原理、特点及应用 223
10.1.1 原理 224
10.1.2 特点 225
10.1.3 应用 226
10.2 GAN模型的改进 228
10.2.1 CGAN模型 228
10.2.2 LAPGAN模型 229
10.2.3 DCGAN模型 230
10.2.4 InfoGAN模型 230
10.2.5 LSGAN模型 231
10.2.6 WGAN模型 232
10.3 佳实践 233
10.4 小结 238
第 11章 RNN模型 239
11.1 基本RNN单元及其变种 239
11.1.1 RNN模型简介 239
11.1.2 基本RNN单元 240
11.1.3 LSTM单元 242
11.1.4 GRU单元 243
11.1.5 双向RNN单元 244
11.1.6 带有其他特性的RNN单元 245
11.2 RNN模型 247
11.2.1 PTB-LSTM语言模型 247
11.2.2 Seq2Seq模型 251
11.3 小结 254
第四部分 核心揭秘篇
第 12章 TensorFlow运行时核心设计与实现 256
12.1 运行时框架概述 256
12.2 关键数据结构 257
12.2.1 张量相关数据结构 258
12.2.2 设备相关数据结构 260
12.2.3 数据流图相关的数据结构 263
12.3 公共基础机制 266
12.3.1 内存分配 266
12.3.2 线程管理 268
12.3.3 多语言接口 269
12.3.4 XLA编译技术 270
12.3.5 单元测试框架 271
12.4 外部环境接口 272
12.4.1 加速器硬件接口 272
12.4.2 系统软件接口 275
12.5 小结 276
第 13章 通信原理与实现 277
13.1 概述 277
13.2 进程内通信 278
13.2.1 通信接口 278
13.2.2 会合点机制 280
13.2.3 异构设备内存访问 282
13.3 进程间通信 283
13.3.1 gRPC通信机制 284
13.3.2 控制通信 286
13.3.3 数据通信 290
13.4 RDMA通信模块 294
13.4.1 模块结构 295
13.4.2 消息语义 296
13.4.3 通信流程 297
13.5 小结 300
第 14章 数据流图计算原理与实现 301
14.1 概述 301
14.2 数据流图创建 302
14.2.1 流程与抽象 303
14.2.2 全图构造 305
14.2.3 子图提取 306
14.2.4 图切分 307
14.2.5 图优化 308
14.3 单机会话运行 308
14.3.1 流程与抽象 309
14.3.2 执行器获取 311
14.3.3 输入数据填充 312
14.3.4 图运行 313
14.3.5 输出数据获取 315
14.3.6 张量保存 315
14.4 分布式会话运行 315
14.4.1 主-从模型 316
14.4.2 主要抽象 317
14.4.3 client创建会话 319
14.4.4 client请求图运行 320
14.4.5 master驱动图运行 321
14.4.6 worker实施图运行 323
14.5 操作节点执行 325
14.5.1 核函数抽象 325
14.5.2 CPU上的执行流程 326
14.5.3 CUDA GPU上的执行流程 326
14.6 小结 327
第五部分 生态发展篇
第 15章 TensorFlow生态环境 330
15.1 生态环境概况 330
15.1.1 社区托管组件 330
15.1.2 第三方项目 333
15.2 深度神经网络库Keras 334
15.2.1 概述 334
15.2.2 模型概述 335
15.2.3 顺序模型 336
15.2.4 函数式模型 338
15.3 TensorFlow与Kubernetes生态的结合 340
15.4 TensorFlow与Spark生态的结合 344
15.5 TensorFlow通信优化技术 345
15.6 TPU及神经网络处理器 348
15.7 NNVM模块化深度学习组件 349
15.8 TensorFlow未来展望——TFX 351
15.9 小结 353
附录A 354
这本书的出现,仿佛是为我量身定制的。我一直在寻找一本能够真正让我“读懂”TensorFlow的书,而不是仅仅停留在“会用”的层面。市面上有很多TensorFlow的教程,但大多过于浅显,或者过于偏重某个特定领域的应用,缺乏对框架本身架构和实现原理的系统性讲解。而《深入理解TensorFlow架构设计与实现原理 深度学习 TensorFlow入门与实战》这个书名,正是我梦寐以求的。我特别想了解TensorFlow的计算图是如何构建和优化的,它的核心API背后是如何与底层C++或CUDA代码交互的,以及它在内存管理、多线程调度、分布式训练等方面是如何设计的。这些细节的理解,对于我优化模型性能、解决复杂的工程问题至关重要。而且,书中“深度学习”和“入门与实战”的结合,也让我相信它能够提供一套完整的学习体系,从原理到实践,全面提升我运用TensorFlow的能力。
评分这本《深入理解TensorFlow架构设计与实现原理 深度学习 TensorFlow入门与实战》的书名着实让人眼前一亮,尤其是“架构设计与实现原理”这几个字,立刻就吸引了我。我一直对深度学习的底层实现很感兴趣,想知道那些高效的运算是如何在TensorFlow这个框架中实现的,它的数据流图到底是如何工作的,op的执行流程是怎样的,有没有一些巧妙的内存管理和并行计算的技巧。而且,光有理论知识不够,我更希望能够结合实战,看看如何在实际项目中运用TensorFlow来解决问题,比如构建一个图像识别模型,或者训练一个自然语言处理模型。书名里的“入门与实战”也恰好满足了我的需求,既能学到基础,又能上手实践,感觉这本书能够带我真正地“深入”到TensorFlow的内核,理解它为什么这么强大,并且学到如何有效地利用它。我期待能够在这本书里找到一些关于TensorFlow背后设计哲学和工程实践的洞见,这对于提升我的开发技能和解决复杂问题的能力会非常有帮助。
评分拿到这本书,第一感觉就是它给我了一种踏实的感觉。在浩瀚的深度学习技术海洋里,TensorFlow无疑是最核心的巨头之一,而如何才能真正地驾驭它,而不是仅仅停留在API调用的层面,是很多从业者都在思考的问题。这本书的名字精准地抓住了这个痛点。它不仅仅是教你“怎么用”,更重要的是告诉你“为什么这么用”以及“它内部是怎么工作的”。我特别想了解TensorFlow是如何处理大规模数据训练的,比如它的分布式训练策略,梯度下降的并行化实现,以及如何有效地管理GPU资源。同时,我也对它的计算图机制有着浓厚的兴趣,想知道这个动态或静态的图是如何被构建、优化和执行的,以及它与Python的交互机制是怎样的。这本书的“架构设计与实现原理”部分,让我看到了深入学习的希望,相信它能为我揭示TensorFlow的神秘面纱,让我从一个“用户”升级为一个能够理解和定制其内部运作的“开发者”。
评分作为一个长期使用TensorFlow进行研究和开发的工程师,我一直在寻找一本能够填补我知识盲区的书籍。市面上关于TensorFlow的教程很多,大多集中在API的使用和模型构建上,但真正能够深入讲解其底层架构和实现原理的却寥寥无几。这本书的标题,特别是“架构设计与实现原理”,让我眼前一亮。我希望能在这本书中找到关于TensorFlow执行引擎、内存管理、算子库、分布式计算框架等方面的详尽阐述。理解这些底层机制,对于优化模型性能、排查疑难bug、甚至参与到TensorFlow的开发和贡献中都至关重要。同时,书中提到的“深度学习”和“入门与实战”,也表明它并不会止步于纯粹的理论,而是会结合实际应用,让我能够学以致用,将这些深邃的原理应用到具体的项目中。
评分坦白说,我被这本书的副标题深深吸引了。《深入理解TensorFlow架构设计与实现原理 深度学习 TensorFlow入门与实战》,这几乎囊括了我对学习TensorFlow最核心的诉求。我渴望理解TensorFlow是如何高效地调度计算资源的,它的多线程和多进程模型是如何协同工作的,又是如何实现跨设备(CPU、GPU、TPU)计算的。我对它的数据流图和计算图的底层表示,以及如何通过图优化来提升性能非常好奇。此外,书中“深度学习”的字样,也让我期待能够深入了解TensorFlow在各种深度学习模型(如CNN、RNN、Transformer等)中的应用,并理解这些模型在TensorFlow框架下的具体实现细节。而“入门与实战”则让我看到了一个循序渐进的学习路径,既能打牢基础,又能通过实操来巩固和提升。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有