第 1章 机器学习与sklearn 1
1.1 sklearn 环境配置 2
1.1.1 环境要求 2
1.1.2 安装方法 2
1.1.3 修改pip 源 3
1.1.4 安装Jupyter Notebook 4
1.2 数据集 5
1.2.1 自带的小型数据集 6
1.2.2 在线下载的数据集 8
1.2.3 计算机生成的数据集 8
1.3 分类 9
1.3.1 加载数据与模型 10
1.3.2 建立分类模型 11
1.3.3 模型的训练及预测 12
1.3.4 模型评价 12
1.4 回归 14
1.4.1 线性回归 15
1.4.2 回归模型评价 16
1.5 聚类 17
1.5.1 K-means 17
1.5.2 DBSCAN 17
1.5.3 聚类实例 18
1.6 降维 19
1.6.1 PCA 降维 19
1.6.2 LDA 降维 22
1.7 模型验证 23
1.8 模型持久化 27
1.8.1 joblib 27
1.8.2 pickle 28
1.9 小结 28
第 2章 传统图像处理方法 29
2.1 图像分类 29
2.1.1 HOG 的原理 29
2.1.2 工具介绍 30
2.1.3 CIFAR-10 分类 31
2.1.4 手写字符分类 33
2.2 目标检测 36
2.3 图像分割 40
2.4 图像搜索 41
2.5 小结 43
第3章 深度学习与PyTorch 44
3.1 框架介绍 44
3.2 环境配置 46
3.3 运算基本单元 48
3.3.1 Tensor 数据类型 48
3.3.2 Tensor 与ndarray 49
3.3.3 CPU 与GPU 运算 49
3.3.4 PyTorch 实现K-means 51
3.4 自动求导 55
3.5 数据加载 57
3.5.1 Dataset 58
3.5.2 DataLoader 59
3.6 神经网络工具包 60
3.6.1 Module 模块 61
3.6.2 线性层 62
3.6.3 卷积层 62
3.6.4 池化层 64
3.6.5 BatchNorm 层 65
3.6.6 激活层 65
3.6.7 神经网络各层输出的可视化 72
3.6.8 循环神经网络 76
3.6.9 Sequential 和ModuleList 78
3.6.10 损失函数 79
3.7 模型优化器optim 82
3.7.1 optim 用法 82
3.7.2 优化器的选择 82
3.7.3 学习率的选择 86
3.8 参数初始化init 94
3.9 模型持久化 96
3.10 JIT 编译器 98
3.11 模型迁移ONNX 99
3.12 数据可视化TensorBoard 101
3.13 机器视觉工具包torchvision 103
3.13.1 数据 103
3.13.2 模型 104
3.13.3 图像处理 106
3.14 小结 110
第4章 卷积神经网络中的分类与回归 111
4.1 卷积神经网络中的分类问题 112
4.1.1 CIFAR-10 图像分类 112
4.1.2 卷积神经网络的发展 117
4.1.3 分类网络的实现 121
4.1.4 模型训练 127
4.1.5 模型展示 132
4.1.6 多标签分类 134
4.2 卷积神经网络中的回归问题 142
4.2.1 生成数据集 142
4.2.2 模型训练 145
4.2.3 模型展示 146
4.3 小结 148
第5章 目标检测 149
5.1 深度学习物体检测算法 149
5.1.1 两段式检测 150
5.1.2 一段式检测 153
5.2 数据集构建 155
5.2.1 选择目标物体图片 155
5.2.2 背景图片下载 156
5.2.3 图片合成 156
5.3 数据加载 162
5.4 数据标记与损失函数构建 166
5.4.1 数据标记 167
5.4.2 损失函数 167
5.5 模型搭建与训练 172
5.6 模型预测 175
5.7 小结 180
第6章 图像分割 181
6.1 数据加载 184
6.2 模型搭建 189
6.3 模型训练 191
6.4 模型展示 194
6.5 智能弹幕 195
6.6 像素级回归问题:超分辨率重建 196
6.6.1 超分辨率重建算法的发展 197
6.6.2 数据加载 198
6.6.3 模型搭建与训练 202
6.6.4 模型展示 205
6.7 小结 206
第7章 图像搜索 207
7.1 分类网络的特征 208
7.2 深度学习人脸识别技术 208
7.2.1 FaceNet 209
7.2.2 CosFace 和ArcFace 209
7.3 数据处理 210
7.3.1 数据下载 210
7.3.2 数据检查 212
7.3.3 数据提取 213
7.4 模型训练 214
7.4.1 普通分类模型 214
7.4.2 CosFace 218
7.5 图像搜索 219
7.5.1 图像比对 219
7.5.2 KD-Tree 搜索 221
7.6 小结 224
第8章 图像压缩 225
8.1 AutoEncoder 226
8.1.1 AutoEncoder 的原理 226
8.1.2 AutoEncoder 模型搭建 226
8.1.3 数据加载 229
8.1.4 模型训练 230
8.1.5 结果展示 232
8.2 GAN 234
8.2.1 GAN 原理 234
8.2.2 GAN 训练流程 235
8.2.3 GAN 随机生成人脸图片 235
8.2.4 GAN 与AutoEncoder 的结合 242
8.2.5 图像修复 247
8.3 小结 250
第9章 不定长文本识别 251
9.1 循环神经网络概述 251
9.2 时间序列预测 252
9.2.1 创建模型 253
9.2.2 生成数据 253
9.2.3 模型训练 255
9.2.4 模型预测 256
9.3 CRNN 模型 257
9.3.1 CRNN 算法简介 257
9.3.2 CTCLoss 函数 258
9.3.3 模型结构 259
9.3.4 数据预处理 261
9.3.5 模型训练 264
9.3.6 模型预测 266
9.4 小结 267
第 10章 神经网络压缩与部署 268
10.1 剪枝 268
10.1.1 模型设计 269
10.1.2 训练基础模型 271
10.1.3 模型稀疏化 273
10.1.4 压缩模型通道 276
10.2 量化 283
10.3 混合精度训练 287
10.4 深度学习模型的服务端部署 289
10.4.1 创建接口 289
10.4.2 访问接口 291
10.5 小结 292