第一部分 开启TensorFlow之旅 2
第1章 引言 2
1.1 无处不在的数据 2
1.2 深度学习 2
1.3 TensorFlow:一个现代的机器学习库 3
1.4 TensorFlow:技术概要 3
1.5 何为TensorFlow 4
1.5.1 解读来自官网的单句描述 4
1.5.2 单句描述未体现的内容 6
1.6 何时使用TensorFlow 7
1.7 TensorFlow的优势 8
1.8 使用TensorFlow所面临的挑战 9
1.9 高歌猛进 9
第2章 安装TensorFlow 10
2.1 选择安装环境 10
2.2 Jupyter Notebook与matplotlib 12
2.3 创建Virtualenv环境 12
2.4 TensorFlow的简易安装 13
2.5 源码构建及安装实例:在64位Ubuntu Linux上安装GPU版TensorFlow 14
2.5.1 安装依赖库 14
2.5.2 安装Bazel 15
2.5.3 安装CUDA软件(仅限NVIDIA GPU) 16
2.5.4 从源码构建和安装TensorFlow 18
2.6 安装Jupyter Notebook 20
2.7 安装matplotlib 20
2.8 测试TensorFlow、Jupyter Notebook及matplotlib 21
2.9 本章小结 23
第二部分 TensorFlow与机器学习基础 26
第3章 TensorFlow基础 26
3.1 数据流图简介 26
3.1.1 数据流图基础 26
3.1.2 节点的依赖关系 29
3.2 在TensorFlow中定义数据流图 33
3.2.1 构建第一个TensorFlow数据流图 33
3.2.2 张量思维 39
3.2.3 张量的形状 43
3.2.4 TensorFlow的Operation 44
3.2.5 TensorFlow的Graph对象 46
3.2.6 TensorFlow Session 48
3.2.7 利用占位节点添加输入 52
3.2.8 Variable对象 53
3.3 通过名称作用域组织数据流图 56
3.4 练习:综合运用各种组件 61
3.4.1 构建数据流图 63
3.4.2 运行数据流图 66
3.5 本章小结 71
第4章 机器学习基础 72
4.1 有监督学习简介 72
4.2 保存训练检查点 74
4.3 线性回归 76
4.4 对数几率回归 78
4.5 softmax分类 83
4.6 多层神经网络 85
4.7 梯度下降法与误差反向传播算法 88
第三部分 用TensorFlow实现更高级的深度模型 96
第5章 目标识别与分类 96
5.1 卷积神经网络 97
5.2 卷积 100
5.2.1 输入和卷积核 100
5.2.2 跨度 102
5.2.3 边界填充 104
5.2.4 数据格式 104
5.2.5 深入探讨卷积核 105
5.3 常见层 107
5.3.1 卷积层 108
5.3.2 激活函数 108
5.3.3 池化层 111
5.3.4 归一化 113
5.3.5 高级层 114
5.4 图像与TensorFlow 116
5.4.1 加载图像 116
5.4.2 图像格式 117
5.4.3 图像操作 121
5.4.4 颜色 127
5.5 CNN的实现 129
5.5.1 Stanford Dogs数据集 129
5.5.2 将图像转为TFRecord文件 130
5.5.3 加载图像 133
5.5.4 模型 134
5.5.5 训练 136
5.5.6 用TensorBoard调试滤波器 137
5.6 本章小结 139
第6章 循环神经网络与自然语言处理 140
6.1 循环神经网络简介 140
6.1.1 时序的世界 140
6.1.2 近似任意程序 141
6.1.3 随时间反向传播 142
6.1.4 序列的编码和解码 143
6.1.5 实现第一个循环神经网络 145
6.1.6 梯度消失与梯度爆炸 145
6.1.7 长短时记忆网络 147
6.1.8 RNN结构的变种 148
6.2 词向量嵌入 149
6.2.1 准备维基百科语料库 151
6.2.2 模型结构 155
6.2.3 噪声对比分类器 156
6.2.4 训练模型 156
6.3 序列分类 157
6.3.1 Imdb影评数据集 158
6.3.2 使用词向量嵌入 159
6.3.3 序列标注模型 159
6.3.4 来自最后相关活性值的softmax层 161
6.3.5 梯度裁剪 162
6.3.6 训练模型 163
6.4 序列标注 164
6.4.1 OCR数据集 164
6.4.2 时间步之间共享的soft-max层 166
6.4.3 训练模型 169
6.4.4 双向RNN 171
6.5 预测编码 174
6.5.1 字符级语言建模 174
6.5.2 ArXiv摘要API 175
6.5.3 数据预处理 177
6.5.4 预测编码模型 178
6.5.5 训练模型 182
6.5.6 生成相似序列 185
6.6 本章小结 188
第四部分 其他提示、技术与特性 190
第7章 产品环境中模型的部署 190
7.1 搭建TensorFlow服务开发环境 190
7.1.1 Docker镜像 190
7.1.2 Bazel工作区 191
7.2 导出训练好的模型 192
7.3 定义服务器接口 195
7.4 实现推断服务器 197
7.5 客户端应用 201
7.6 产品准备 203
7.7 本章小结 203
第8章 辅助函数、代码结构和类 204
8.1 确保目录结构存在 204
8.2 下载函数 204
8.3 磁盘缓存修饰器 205
8.4 属性字典 206
8.5 惰性属性修饰器 207
8.6 覆盖数据流图修饰器 209
第9章 结语:其他资源 212