图书目录

第1 章 人工智能和机器学习基础   1

1.1 人工智能的基础知识  2

1.1.1 人工智能介绍         2

1.1.2 人工智能的发展历程     2

1.1.3 人工智能的两个重要发展阶段     3

1.1.4 和人工智能相关的几个重要概念         3

1.2 机器学习的基础知识  4

1.2.1 机器学习介绍         4

1.2.2 机器学习的三个发展阶段        4

1.2.3 机器学习的分类        5

1.2.4 深度学习和机器学习的对比     5

1.3 人工智能的研究领域和应用场景    7

1.3.1 人工智能的研究领域     7

1.3.2 人工智能的应用场景     8

1.3.3 人工智能的未来目标     9

1.4 机器学习的步骤        10

1.5 使用Python 学习人工智能开发    10

1.5.1 Python 在人工智能方面的优势        10

1.5.2 常用的Python 库         11

1.6 TensorFlow 基础     12

1.6.1 TensorFlow 介绍          12

1.6.2 TensorFlow 的优势       13

1.6.3 TensorFlow Lite 介绍    13

第2 章 搭建开发环境          15

2.1 安装环境要求       16

2.1.1 硬件要求       16

2.1.2 软件要求       16

2.2 安装TensorFlow     16

2.2.1 使用pip 安装TensorFlow        17

2.2.2 使用Anaconda 安装TensorFlow        18

2.2.3 安装TensorFlow Lite解释器          19

2.2.4 解决速度过慢的问题    20

2.3 准备开发工具       20

2.3.1 使用PyCharm 开发并调试运行TensorFlow 程序          21

2.3.2 使用Colaboratory 开发并调试运行TensorFlow 程序    21

第3 章 第一个TensorFlow Lite 程序   25

3.1 开发TensorFlow Lite 程序的流程       26

3.1.1 准备模型       26

3.1.2 转换模型       27

3.1.3 使用模型进行推理       28

3.1.4 优化模型       29

3.2 在Android 中创建TensorFlow Lite        30

3.2.1 需要安装的工具          30

3.2.2 新建Android 工程        30

3.2.3 使用JCenter 中的TensorFlow Lite AAR       31

3.2.4 运行和测试    32

第4 章 转换模型            35

4.1 TensorFlow Lite 转换器     36

4.1.1 转换方式       36

4.1.2 将TensorFlow RNN 转换为TensorFlow Lite      39

4.2 将元数据添加到 TensorFlow Lite模型        43

4.2.1 具有元数据格式的模型     43

4.2.2 使用Flatbuffers Python API 添加元数据          44

第5 章 推断              49

5.1 TensorFlow Lite 推断的基本知识       50

5.1.1 推断的基本步骤          50

5.1.2 推断支持的平台          50

5.2 运行模型      51

5.2.1 在Java 程序中加载和运行模型        51

5.2.2 在 Swift 程序中加载和运行模型        53

5.2.3 在Objective-C 程序中加载和运行模型        54

5.2.4 在Objective-C 中使用C API       55

5.2.5 在 C++ 中加载和运行模型      55

5.2.6 在 Python 中加载和运行模型        56

5.3 运算符操作       58

5.3.1 运算符操作支持的类型     58

5.3.2 从TensorFlow 中选择运算符     59

5.3.3 自定义运算符        61

5.3.4 融合运算符    66

第6 章 使用元数据进行推断      67

6.1 元数据推断简介        68

6.2 使用元数据生成模型接口   68

6.2.1 使用 Android Studio 机器学习模型进行绑定    68

6.2.2 使用TensorFlow Lite 代码生成器生成模型接口        71

6.3 通过Task 库集成模型    73

6.3.1 Task Library 可以提供的内容        73

6.3.2 支持的任务    73

6.3.3 集成图像分类器          74

6.4 自定义输入和输出    75

第7 章 优化处理            81

7.1 性能优化      82

7.2 TensorFlow Lite 委托    84

7.2.1 选择委托       84

7.2.2 评估工具       85

7.3 TensorFlow Lite GPU 代理   87

7.3.1 在Android 中使用TensorFlow Lite GPU 代理        87

7.3.2 在iOS 中使用TensorFlow LiteGPU 代理      88

7.3.3 在自己的模型上使用GPU代理        89

7.4 模型优化      90

7.4.1 模型量化       90

7.4.2 训练后量化    91

7.4.3 训练后动态范围量化    93

第8 章 手写数字识别器        103

8.1 系统介绍         104

8.2 创建模型         104

8.2.1 创建TensorFlow 数据模型      104

8.2.2 将Keras 模型转换为TensorFlow Lite       108

8.3 Android 手写数字识别器     110

8.3.1 准备工作     110

8.3.2 页面布局     112

8.3.3 实现Activity       113

8.3.4 实现TensorFlow Lite 识别     115

第9 章 鲜花识别系统        121

9.1 系统介绍         122

9.2 创建模型         122

9.2.1 创建TensorFlow 数据模型      122

9.2.2 将Keras 模型转换为TensorFlow Lite       127

9.2.3 量化处理     129

9.2.4 更改模型     130

9.3 Android 鲜花识别器    132

9.3.1 准备工作     132

9.3.2 页面布局     134

9.3.3 实现UI Activity         136

9.3.4 实现主Activity         137

9.3.5 图像转换     142

9.3.6 使用 GPU 委托加速    147

第10 章 情感文本识别系统      149

10.1 系统介绍       150

10.2 创建模型       150

10.2.1 创建TensorFlow 数据模型          151

10.2.2 将Keras 模型转换为TensorFlow Lite      155

10.2.3 调整模型    156

10.3 Android 情感识别器       160

10.3.1 准备工作    161

10.3.2 页面布局    163

10.3.3 实现主Activity        164

10.3.4 lib_task_api 方案      166

10.3.5 lib_interpreter 方案    168

第11 章 物体检测识别系统      175

11.1 系统介绍       176

11.2 准备模型       176

11.2.1 模型介绍    176

11.2.2 自定义模型        177

11.3 Android 物体检测识别器  180

11.3.1 准备工作    180

11.3.2 页面布局    182

11.3.3 实现主Activity        186

11.3.4 物体识别界面          192

11.3.5 相机预览界面拼接    195

11.3.6 lib_task_api 方案      202

11.3.7 lib_interpreter 方案    204

第12 章 智能客服系统        211

12.1 系统介绍       212

12.2 准备模型       212

12.2.1 模型介绍    212

12.2.2 下载模型文件          213

12.3 Android 智能客服回复器  213

12.3.1 准备工作    213

12.3.2 页面布局    215

12.3.3 实现主Activity        216

12.3.4 智能回复处理          218