第一篇 基础篇
第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
· · · · · · (
收起)