内容简介
TensorFlow已经成为机器学行框架和工业届标准,早期的TensorFlow以云端和数据中心中的机器学期的一个趋势是,逐渐向移动端和设备端转移。推动这个趋势的动括人们对机器学和认知的提高、算的、软件和硬件能的提高,以及专有硬件的出现等,更主要的是,用户的需求和越来越丰富的场景需求。现在国内移动用户已超15亿,移动用户已超过51亿,2019年IoT装置数量预计将超过人数。我们相信,在未来,云端和移动端相结合的人工智能和设备端独立的人工智能应用会慢慢成为主流。作为TensorFlow的和使用者,本书作者完整地讲解了使用TensorFlo行端到端开发的实例和开发技巧,同时分享了如何使用开源工行软件开发的*工程实践和经验。本书提供了的视角帮助读者开启不同的思路,即使把本书作为一本软件开发和工程开发的书籍来读,也会使读者受益匪浅。
目录
目 录
第1章 机器学ensorFlow简述 1
1.1 机器学ensorFlow的历史及发展现状 1
1.1.1 人工智能和机器学
1.1.2 TensorFlow 3
1.1.3 TensorFlow Mobile 5
1.1.4 TensorFlow Lite 5
1.2 在移动设备上运行机器学用 6
1.2.1 生态和现状 7
1.2.2 从移动优先到人工智能优先 8
1.2.3 人工智能的发展 9
1.2.4 在移动设备行机器学点和挑战 9
1.2.5 TPU 10
1.3 机器学 11
1.3.1 CAFFE2 11
1.3.2 Android NNAPI 12
1.3.3 CoreML 12
1.3.4 树莓派(Raerry Pi) 13
第2章 构建开发环境 14
2.1 开发主机和设备的选择 14
2.2 在网络代理环境下开发 15
2.3 集成开发环境IDE 16
2.3.1 Android Studio 16
2.3.2 Visual Studio Code 16
2.3.3 其他IDE 18
2.4 构建工具Bazel 18
2.4.1 Bazel生成调试 19
2.4.2 Bazel Query命令 20
2.5 装载TensorFlow 20
2.6 文档 25
第3章 基于移动端的机器学发方式和流程 26
3.1 开发方式和流程简介 26
3.2 使用TP行训练 28
3.3 设备行机器学 35
3.4 使用TensorFlow Serving优化TensorFlow模型 41
3.4.1 训练和导出TensorFlow模型 42
3.4.2 使用标准TensorFlow ModelServer加载导出的模型 50
3.4.3 测试服务器 50
3.5 TensorFlow扩展(Extended) 54
第4章 构建TensorFlow Mobile 55
4.1 TensorFlow Mobile的历史 55
4.2 TensorFlow代码结构 55
4.3 构建及运行 61
4.3.1 代码的流程 67
4.3.2 代码的依赖 68
4.3.3 能和代码跟踪 69
第5章 用TensorFlow Mobile构建机器学 71
5.1 准备工作 71
5.2 图像分类(Image Classification) 74
5.2.1 应用 74
5.2.2 模型 85
5.3 物体检测(Object Detection) 87
5.3.1 应用 87
5.3.2 模型 92
5.4 时尚渲染(Stylization) 95
5.4.1 应用 95
5.4.2 模型 96
5.5 声音识别(Speech Recognization) 96
5.5.1 应用 96
5.5.2 模型 99
第6章 TensorFlow Lite的架构 101
6.1 模型格式 102
6.1.1 Protocol Buffer 102
6.1.2 FlatBuffers 105
6.1.3 模型结构 112
6.1.4 转换器(Toco) 113
6.1.5 解析器(Interpreter) 119
6.2 底层结构和设计 123
6.2.1 设计目标 123
6.2.2 错误反馈 124
6.2.3 装载模型 125
6.2.4 运行模型 126
6.2.5 定制演算子(CUSTOM Ops) 128
6.2.6 定制内核 132
6.3 工具 133
6.3.1 图像标注(label_image) 133
6.3.2 集成(Minimal) 143
6.3.3 Graphviz 143
6.3.4 模型评效 148
第7章 用TensorFlow Lite构建机器学 151
7.1 模型设计 151
7.1.1 使用预先训练的模型 151
7.1.2 重新训练 152
7.1.3 使用瓶颈(Bottleneck) 154
7.2 开发应用 158
7.2.1 程序接口 158
7.2.2 线程和能 162
7.2.3 模型优化 163
7.3 TensorFlow Lite的应用 170
7.3.1 声音识别 173
7.3.2 图像识别 177
7.4 TensorFlow Lite使用GPU 178
7.4.1 GPU与CPU能比较 178
7.4.2 开发GPU代理(Delegate) 178
7.5 训练模型 182
7.5.1 仿真器 183
7.5.2 构建执行文件 183
第8章 移动端的机器学 186
8.1 其他设备的支持 186
8.1.1 在iOS上运行TensorFlow的应用 186
8.1.2 在树莓派上运行TensorFlow 189
8.2 设计和优化模型 190
8.2.1 模型大小 191
8.2.2 运行速度 192
8.2.3 可视化模型 196
8.2.4 线程 196
8.2.5 制文件大小 197
8.2.6 重新训练移动数据 197
8.2.7 优化模型加载 198
8.2.8 保护模型文件 198
8.2.9 量化计算 199
8.2.10 使用量化计算 202
8.3 设计机器学程序要点 207
第9章 TensorFlow的硬件加速 209
9.1 神经网络接口 209
9.1.1 了解Neural Networks API运行时 210
9.1.2 Neural Networks API编程模型 211
9.1.3 NNAPI 实现的实例 213
9.2 硬件加速 222
9.2.1 高通网络处理器 223
9.2.2 华为HiAI Engine 229
9.2.3 简要比较 235
9.2.4 开放式神经网络交换格式 236
第10章 机器学框架 237
10.1 ML Kit 237
10.1.1 面部识别(Face Detection) 242
10.1.2 文本识别 247
10.1.3 条形码识别 248
10.2 联合学ederated Learning) 248
第11章 基于移动设备的机器学来 252
11.1 TensorFlow 2.0和路线图 252
11.1.1 更简单的开发模型 253
11.1.2 更可靠的台的模型发布 254
11.1.3 TensorFlow Lite 254
11.1.4 TensorFlow 1.0 和TensorFlow 2.0的不同 255
11.2 人工智能的发展方向 255
11.2.1 提高人工智能的可解释 255
11.2.2 贡献社会 256
11.2.3 改善社会 258




