资源名称:TensorFlow技术解析与实战 PDF

内容简介:

TensorFlow 是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一。本书从深度学习的基础讲起,深入TensorFlow框架原理、模型构建、源代码分析和网络实现等各个方面。全书分为基础篇、实战篇和提高篇三部分。基础篇讲解人工智能的入门知识,深度学习的方法,TensorFlow的基础原理、系统架构、设计理念、编程模型、常用API、批标准化、模型的存储与加载、队列与线程,实现一个自定义操作,并进行TensorFlow源代码解析,介绍卷积神经网络(CNN)和循环神经网络(RNN)的演化发展及其TensorFlow实现、TensorFlow的高级框架等知识;实战篇讲解如何用TensorFlow写一个神经网络程序并介绍TensorFlow实现各种网络(CNN、RNN和自编码网络等)并对MNIST数据集进行训练,讲解TensorFlow在人脸识别、自然语言处理、图像和语音的结合、生成式对抗网络等方面的应用;提高篇讲解TensorFlow的分布式原理、架构、模式、API,还会介绍TensorFlow XLA、TensorFlow Debugger、TensorFlow和Kubernetes结合、TensorFlowOnSpark、TensorFlow移动端应用,以及TensorFlow Serving、TensorFlow Fold和TensorFlow计算加速等其他特性。最后,附录中列出一些可供参考的公开数据集,并结合作者的项目经验介绍项目管理的一些建议。

作者简介:

李嘉璇,创建TensorFlow交流社区,活跃于国内各大技术社区,知乎编程问题回答者。致力于人工智能的研究,对深度学习框架的架构、源码分析及在不同领域的应用有浓厚兴趣。有过上百篇论文阅读和深度学习经验,处理图像、社交文本数据情感分析、数据挖掘经验,参与过基于深度学习的自动驾驶二维感知系统Hackathon竞赛,曾任职百度研发工程师。

资源目录:

第一篇 基础篇

第1章 人工智能概述 2

1.1 什么是人工智能 2

1.2 什么是深度学习 5

1.3 深度学习的入门方法 7

1.4 什么是TensorFlow 11

1.5 为什么要学TensorFlow 12

1.5.1 TensorFlow的特性 14

1.5.2 使用TensorFlow的公司 15

1.5.3 TensorFlow的发展 16

1.6 机器学习的相关赛事 16

1.6.1 ImageNet的ILSVRC 17

1.6.2 Kaggle 18

1.6.3 天池大数据竞赛 19

1.7 国内的人工智能公司 20

1.8 小结 22

第2章 TensorFlow环境的准备 23

2.1 下载TensorFlow 1.1.0 23

2.2 基于pip的安装 23

2.2.1 Mac OS环境准备 24

2.2.2 Ubuntu/Linux环境准备 25

2.2.3 Windows环境准备 25

2.3 基于Java的安装 28

2.4 从源代码安装 29

2.5 依赖的其他模块 30

2.5.1 numpy 30

2.5.2 matplotlib 31

2.5.3 jupyter 31

2.5.4 scikit-image 32

2.5.5 librosa 32

2.5.6 nltk 32

2.5.7 keras 33

2.5.8 tflearn 33

2.6 小结 33

第3章 可视化TensorFlow 34

3.1 PlayGround 34

3.1.1 数据 35

3.1.2 特征 36

3.1.3 隐藏层 36

3.1.4 输出 37

3.2 TensorBoard 39

3.2.1 SCALARS面板 40

3.2.2 IMAGES面板 41

3.2.3 AUDIO面板 42

3.2.4 GRAPHS面板 42

3.2.5 DISTRIBUTIONS面板 43

3.2.6 HISTOGRAMS面板 43

3.2.7 EMBEDDINGS面板 44

3.3 可视化的例子 44

3.3.1 降维分析 44

3.3.2 嵌入投影仪 48

3.4 小结 51

第4章 TensorFlow基础知识 52

4.1 系统架构 52

4.2 设计理念 53

4.3 编程模型 54

4.3.1 边 56

4.3.2 节点 57

4.3.3 其他概念 57

4.4 常用API 60

4.4.1 图、操作和张量 60

4.4.2 可视化 61

4.5 变量作用域 62

4.5.1 variable_scope示例 62

4.5.2 name_scope示例 64

4.6 批标准化 64

4.6.1 方法 65

4.6.2 优点 65

4.6.3 示例 65

4.7 神经元函数及优化方法 66

4.7.1 激活函数 66

4.7.2 卷积函数 69

4.7.3 池化函数 72

4.7.4 分类函数 73

4.7.5 优化方法 74

4.8 模型的存储与加载 79

4.8.1 模型的存储与加载 79

4.8.2 图的存储与加载 82

4.9 队列和线程 82

4.9.1 队列 82

4.9.2 队列管理器 85

4.9.3 线程和协调器 86

4.10 加载数据 87

4.10.1 预加载数据 87

4.10.2 填充数据 87

4.10.3 从文件读取数据 88

4.11 实现一个自定义操作 92

4.11.1 步骤 92

4.11.2 最佳实践 93

4.12 小结 101

第5章 TensorFlow源代码解析 102

5.1 TensorFlow的目录结构 102

5.1.1 contirb 103

5.1.2 core 104

5.1.3 examples 105

5.1.4 g3doc 105

5.1.5 python 105

5.1.6 tensorboard 105

5.2 TensorFlow源代码的学习方法 106

5.3 小结 108

第6章 神经网络的发展及其TensorFlow实现 109

6.1 卷积神经网络 109

6.2 卷积神经网络发展 110

6.2.1 网络加深 111

6.2.2 增强卷积层的功能 115

6.2.3 从分类任务到检测任务 120

6.2.4 增加新的功能模块 121

6.3 MNIST的AlexNet实现 121

6.3.1 加载数据 121

6.3.2 构建网络模型 122

6.3.3 训练模型和评估模型 124

6.4 循环神经网络 125

6.5 循环神经网络发展 126

6.5.1 增强隐藏层的功能 127

6.5.2 双向化及加深网络 129

6.6 TensorFlow Model Zoo 131

6.7 其他研究进展 131

6.7.1 强化学习 132

6.7.2 深度森林 132

6.7.3 深度学习与艺术 132

6.8 小结 133

第7章 TensorFlow的高级框架 134

7.1 TFLearn 134

7.1.1 加载数据 134

7.1.2 构建网络模型 135

7.1.3 训练模型 135

7.2 Keras 135

7.2.1 Keras的优点 136

7.2.2 Keras的模型 136

7.2.3 Keras的使用 137

7.3 小结 141

第二篇 实战篇

第8章 第一个TensorFlow程序 144

8.1 TensorFlow的运行方式 144

8.1.1 生成及加载数据 144

8.1.2 构建网络模型 145

8.1.3 训练模型 145

8.2 超参数的设定 146

8.3 小结 147

第9章 TensorFlow在MNIST中的应用 148

9.1 MNIST数据集简介 148

9.1.1 训练集的标记文件 148

9.1.2 训练集的图片文件 149

9.1.3 测试集的标记文件 149

9.1.4 测试集的图片文件 150

9.2 MNIST的分类问题 150

9.2.1 加载数据 150

9.2.2 构建回归模型 151

9.2.3 训练模型 151

9.2.4 评估模型 152

9.3 训练过程的可视化 152

9.4 MNIST的卷积神经网络 156

9.4.1 加载数据 157

9.4.2 构建模型 157

9.4.3 训练模型和评估模型 159

9.5 MNIST的循环神经网络 161

9.5.1 加载数据 161

9.5.2 构建模型 161

9.5.3 训练数据及评估模型 163

9.6 MNIST的无监督学习 164

9.6.1 自编码网络 164

9.6.2 TensorFlow的自编码网络实现 165

9.7 小结 169

第10章 人脸识别 170

10.1 人脸识别简介 170

10.2 人脸识别的技术流程 171

10.2.1 人脸图像采集及检测 171

10.2.2 人脸图像预处理 171

10.2.3 人脸图像特征提取 171

10.2.4 人脸图像匹配与识别 172

10.3 人脸识别的分类 172

10.3.1 人脸检测 172

10.3.2 人脸关键点检测 173

10.3.3 人脸验证 174

10.3.4 人脸属性检测 174

10.4 人脸检测 175

10.4.1 LFW数据集 175

10.4.2 数据预处理 175

10.4.3 进行检测 176

10.5 性别和年龄识别 178

10.5.1 数据预处理 179

10.5.2 构建模型 181

10.5.3 训练模型 182

10.5.4 验证模型 184

10.6 小结 185

第11章 自然语言处理 186

11.1 模型的选择 186

11.2 英文数字语音识别 187

11.2.1 定义输入数据并预处理数据 188

11.2.2 定义网络模型 188

11.2.3 训练模型 188

11.2.4 预测模型 189

11.3 智能聊天机器人 189

11.3.1 原理 190

11.3.2 最佳实践 191

11.4 小结 200

第12章 图像与语音的结合 201

12.1 看图说话模型 201

12.1.1 原理 202

12.1.2 最佳实践 203

12.2 小结 205

第13章 生成式对抗网络 206

13.1 生成式对抗网络的原理 206

13.2 生成式对抗网络的应用 207

13.3 生成式对抗网络的实现 208

13.4 生成式对抗网络的改进 214

13.5 小结 214

第三篇 提高篇

第14章 分布式TensorFlow 216

14.1 分布式原理 216

14.1.1 单机多卡和分布式 216

14.1.2 分布式部署方式 217

14.2 分布式架构 218

14.2.1 客户端、主节点和工作节点的关系 218

14.2.2 客户端、主节点和工作节点的交互过程 220

14.3 分布式模式 221

14.3.1 数据并行 221

14.3.2 同步更新和异步更新 222

14.3.3 模型并行 224

14.4 分布式API 225

14.5 分布式训练代码框架 226

14.6 分布式最佳实践 227

14.7 小结 235

第15章 TensorFlow线性代数编译框架XLA 236

15.1 XLA的优势 236

15.2 XLA的工作原理 237

15.3 JIT编译方式 238

15.3.1 打开JIT编译 238

15.3.2 将操作符放在XLA设备上 238

15.4 JIT编译在MNIST上的实现 239

15.5 小结 240

第16章 TensorFlow Debugger 241

16.1 Debugger的使用示例 241

16.2 远程调试方法 245

16.3 小结 245

第17章 TensorFlow和Kubernetes结合 246

17.1 为什么需要Kubernetes 246

17.2 分布式TensorFlow在Kubernetes中的运行 247

17.2.1 部署及运行 247

17.2.2 其他应用 253

17.3 小结 254

第18章 TensorFlowOnSpark 255

18.1 TensorFlowOnSpark的架构 255

18.2 TensorFlowOnSpark在MNIST上的实践 257

18.3 小结 261

第19章 TensorFlow移动端应用 262

19.1 移动端应用原理 262

19.1.1 量化 263

19.1.2 优化矩阵乘法运算 266

19.2 iOS系统实践 266

19.2.1 环境准备 266

19.2.2 编译演示程序并运行 267

19.2.3 自定义模型的编译及运行 269

19.3 Android系统实践 273

19.3.1 环境准备 274

19.3.2 编译演示程序并运行 275

19.3.3 自定义模型的编译及运行 277

19.4 树莓派实践 278

19.5 小结 278

第20章 TensorFlow的其他特性 279

20.1 TensorFlow Serving 279

20.2 TensorFlow Flod 280

20.3 TensorFlow计算加速 281

20.3.1 CPU加速 281

20.3.2 TPU加速和FPGA加速 282

20.4 小结 283

第21章 机器学习的评测体系 284

21.1 人脸识别的性能指标 284

21.2 聊天机器人的性能指标 284

21.3 机器翻译的评价方法 286

21.3.1 BLEU 286

21.3.2 METEOR 287

21.4 常用的通用评价指标 287

21.4.1 ROC和AUC 288

21.4.2 AP和mAP 288

21.5 小结 288

附录A 公开数据集 289

附录B 项目管理经验小谈 292

资源截图:

TensorFlow技术解析与实战 PDF