TensorFlow是Google所主导的机器学习框架,也是机器学习领域研究和应用的热门对象。
本书主要介绍如何通过TensorFlow来构建真实世界的机器学习系统,旨在让读者学以致用,能尽快地上手项目。本书的特色是通过实例来向读者介绍TensorFlow的经典知识。本书共有12章,包含手写识别器、猫狗分类器、翻译器、文本含义查找、金融中的机器学习、医疗应用等多个实例,完整地向读者展示了实现机器学习应用的全流程。
本书适合想要学习、了解TensorFlow和机器学习的读者阅读。如果读者知道基本的机器学习概念,并对Python语言有一定的了解,那么能够更加轻松地阅读本书。
谷歌的TensorFlow使机器学习比以往任何时候都更快、更简单、更易于使用。本书将教你如何凭借Python和TensorFlow的强大功能轻松开启机器学习之旅。
首先,你将了解TensorFlow的基本安装过程,并探索其强大功能。接下来,你将训练和运行自己的第一个分类器,并通过解决来自多个行业的问题来了解TensorBoard库的特性,包括数据流图、训练和性能可视化。此外,你还将进一步探索文本和图像分析,并了解CNN模型及其在TensorFlow中的设置。然后,通过训练一个深度学习模型并利用其提供的服务,你将实现一个完整的真实生产系统。随着学习的深入,你还将了解亚马逊Web服务(AWS),并创建一个深度神经网络来解决视频动作识别问题。最后,你将把Caffe模型转换为TensorFlow,并学习高级TensorFlow库——TensorFlow-Slim。
本书包含以下内容:
? 探索如何使用不同的机器学习模型来处理数据;
? 学习如何使用TensorFlow构建深度神经网络;
·了解如何使用TensorFlow解决关键任务,比如聚类、情感分析和回归分析;
·掌握如何编写简洁优雅的Python代码来优化算法;
·了解如何在Web应用中嵌入机器学习模型以提高可访问性;
·学习如何通过AWS利用多个GPU加快训练过程。
全华是BodiData(一个身体测量数据平台)的一位计算机视觉和机器学习工程师,专注于为某种手持技术开发计算机视觉和机器学习应用。
沙姆斯?乌尔?阿齐姆毕业于巴基斯坦国立科技大学电气工程专业。他目前从事医疗相关的项目。
西福?艾哈迈德是一位经验丰富的量化分析师,同时也是一位拥有15年行业经验的数据科学家。
目录
第 1章 初识TensorFlow 1
1.1 当前应用 2
1.2 安装TensorFlow 2
1.2.1 Ubuntu安装 2
1.2.2 macOS安装 4
1.2.3 Windows安装 5
1.2.4 创建虚拟机 8
1.2.5 测试安装 13
1.3 总结 14
第 2章 你的第 一个分类器 15
2.1 关键部分 15
2.2 获取训练数据 16
2.3 下载训练数据 16
2.4 理解分类 17
2.5 其他设置 19
2.6 逻辑停止点 23
2.7 机器学习公文包 23
2.8 训练日 27
2.9 保存模型以供持续使用 30
2.10 为什么隐藏测试集 31
2.11 使用分类器 31
2.12 深入研究网络 32
2.13 所学技能 32
2.14 总结 33
第3章 TensorFlow工具箱 34
3.1 快速预览TensorBoard 35
3.2 安装TensorBoard 37
3.2.1 嵌入钩子(hook)到代码中 38
3.2.2 AlexNet 42
3.3 自动化运行 44
3.4 总结 45
第4章 猫和狗 46
4.1 回顾notMNIST 46
4.1.1 程序配置 47
4.1.2 理解卷积神经网络 48
4.1.3 回顾配置 52
4.1.4 构造卷积神经网络 52
4.1.5 实现 56
4.2 训练日 57
4.3 真实的猫和狗 59
4.4 保存模型以供持续使用 63
4.5 使用分类器 64
4.6 所学技能 65
4.7 总结 65
第5章 序列到序列模型—— 你讲法语吗 66
5.1 快速预览 66
5.2 大量信息 68
5.3 训练日 73
5.4 总结 81
第6章 探索文本含义 82
6.1 额外设置 83
6.2 所学技能 96
6.3 总结 97
第7章 利用机器学习赚钱 98
7.1 输入和方法 98
7.2 处理问题 101
7.2.1 下载和修改数据 102
7.2.2 查看数据 103
7.2.3 提取特征 105
7.2.4 准备训练和测试 106
7.2.5 构建网络 106
7.2.6 训练 107
7.2.7 测试 108
7.3 更进一步 108
7.4 个人的实际考虑 108
7.5 所学技能 109
7.6 总结 110
第8章 医疗应用 111
8.1 挑战 112
8.2 数据 114
8.3 管道 114
8.3.1 理解管道 115
8.3.2 准备数据集 116
8.3.3 解释数据准备 118
8.3.4 训练流程 129
8.3.5 验证流程 129
8.3.6 利用TensorBoard可视化训练过程 130
8.4 更进一步 133
8.4.1 其他医疗数据挑战 133
8.4.2 ISBI大挑战 133
8.4.3 读取医疗数据 134
8.5 所学技能 138
8.6 总结 139
第9章 生产系统自动化 140
9.1 系统概述 140
9.2 创建项目 141
9.3 加载预训练模型以加速训练 142
9.4 为数据集训练模型 148
9.4.1 Oxford-IIIT宠物数据集介绍 149
9.4.2 为训练和测试创建输入管道 154
9.4.3 定义模型 158
9.4.4 定义训练操作 158
9.4.5 执行训练过程 160
9.4.6 导出模型以用于生产 163
9.5 在生产中利用模型提供服务 165
9.5.1 设置TensorFlow Serving 166
9.5.2 运行和测试模型 167
9.5.3 设计Web服务器 169
9.6 在生产中自动化微调 170
9.6.1 加载用户标记的数据 170
9.6.2 对模型进行微调 173
9.6.3 创建每天运行的cronjob 179
9.7 总结 179
第 10章 系统上线 180
10.1 快速浏览亚马逊Web服务 180
10.1.1 P2实例 181
10.1.2 G2实例 181
10.1.3 F1实例 181
10.1.4 定价 182
10.2 应用程序概述 183
10.2.1 数据集 183
10.2.2 准备数据集和输入管道 184
10.2.3 神经网络架构 192
10.2.4 单GPU训练流程 197
10.2.5 多GPU训练流程 202
10.3 Mechanical Turk概览 209
10.4 总结 210
第 11章 更进一步—— 21个课题 211
11.1 数据集和挑战赛 211
11.1.1 课题1:ImageNet数据集 211
11.1.2 课题2:COCO数据集 212
11.1.3 课题3:Open Images数据集 212
11.1.4 课题4:YouTube-8M数据集 212
11.1.5 课题5:AudioSet数据集 212
11.1.6 课题6:LSUN挑战赛 213
11.1.7 课题7:MegaFace数据集 213
11.1.8 课题8:Data Science Bowl 2017挑战赛 213
11.1.9 课题9:星际争霸游戏数据集 213
11.2 TensorFlow项目 214
11.2.1 课题10:人体姿态估计 214
11.2.2 课题11:对象检测——YOLO 214
11.2.3 课题12:对象检测——Faster RCNN 214
11.2.4 课题13:人体检测——Tensorbox 214
11.2.5 课题14:Magenta 215
11.2.6 课题15:WaveNet 215
11.2.7 课题16:Deep Speech 215
11.3 有趣的项目 215
11.3.1 课题17:交互式深度着色—— iDeepColor 215
11.3.2 课题18:Tiny人脸检测器 215
11.3.3 课题19:人体搜索 216
11.3.4 课题20:人脸识别——MobileID 216
11.3.5 课题21:问题回答——DrQA 216
11.4 Caffe转TensorFlow 216
11.5 TensorFlow-Slim 222
11.6 总结 222
第 12章 高级安装 223
12.1 安装 223
12.1.1 安装Nvidia驱动程序 224
12.1.2 安装CUDA工具箱 226
12.1.3 安装cuDNN 229
12.1.4 安装TensorFlow 230
12.1.5 验证支持GPU的TensorFlow 231
12.2 利用Anaconda管理TensorFlow 231
12.3 总结 234