《PyTorch深度学习与计算机视觉实践》
本书内容
在人工智能的浩瀚星空中,深度学习犹如一颗耀眼的明星,引领着计算机视觉技术的发展。《PyTorch深度学习与计算机视觉实践》带领读者领略深度学习在计算视觉领域的魅力,详解使用PyTorch 2.0进行计算机视觉应用实战的技巧。本书配套示例源码、PPT课件。
《PyTorch深度学习与计算机视觉实践》共分15章,内容包括深度学习与计算机视觉、PyTorch 2.0深度学习环境搭建、从0开始PyTorch 2.0、一学就会的深度学习基础算法、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型可视化、残差神经网络实战、基于OpenCV与PyTorch的人脸识别实战、词映射与循环神经网络、注意力机制与注意力模型详解、基于注意力机制的图像识别实战、基于Diffusion Model的从随机到可控的图像生成实战、基于注意力的单目摄像头目标检测实战、基于注意力与Unet的全画幅适配图像全景分割实战、基于预训练模型的可控零样本图像迁移合成实战。
本书作者
王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有图书部分包括:
《ChatGLM3大模型本地化部署、应用开发与微调》《PyTorch语音识别实战》《从零开始大模型开发与微调:基于PyTorch与ChatGLM》《PyTorch 2.0深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow语音识别实战》《TensorFlow 2.0卷积神经网络实战》《深度学习的数学原理与实现》。
本书读者
《PyTorch深度学习与计算机视觉实践》既适合深度学习初学者、PyTorch初学者、PyTorch深度学习计算机视觉应用开发人员阅读,也可作为高等院校或高职高专计算机技术、人工智能、智能科学与技术、数据科学与大数据技术等相关专业的教材。
本书目录
向上滑动阅览
目 录
第1章 深度学习与计算机视觉 1
1.1 深度学习的历史与发展 1
1.1.1 深度学习的起源 2
1.1.2 深度学习的发展脉络 3
1.1.3 为什么是PyTorch 2.0 3
1.2 计算机视觉之路 4
1.2.1 计算机视觉的基本概念 4
1.2.2 计算机视觉深度学习的主要任务 5
1.2.3 计算机视觉中的深度学习方法 6
1.2.4 深度学习在计算机视觉中的应用 7
1.3 本章小结 8
第2章 PyTorch 2.0深度学习环境搭建 9
2.1 环境搭建1:安装Python 9
2.1.1 Miniconda的下载与安装 9
2.1.2 PyCharm的下载与安装 12
2.1.3 Python代码小练习:计算softmax函数 16
2.2 环境搭建2:安装PyTorch 2.0 17
2.2.1 NVIDIA 10/20/30/40系列显卡选择的GPU版本 17
2.2.2 PyTorch 2.0 GPU NVIDIA运行库的安装 17
2.2.3 Hello PyTorch 19
2.3 Unet图像降噪—第一个深度学习项目实战 20
2.3.1 MNIST数据集的准备 20
2.3.2 MNIST数据集特征介绍 22
2.3.3 Hello PyTorch 2.0—模型的准备和介绍 23
2.3.4 对目标的逼近—模型的损失函数与优化函数 25
2.3.5 Let’s do it!—基于深度学习的模型训练 26
2.4 本章小结 28
第3章 从0开始PyTorch 2.0 30
3.1 实战MNIST手写体识别 30
3.1.1 数据图像的获取与标签的说明 30
3.1.2 实战基于PyTorch 2.0的手写体识别模型 32
3.2 PyTorch 2.0常用函数解析与使用指南 36
3.2.1 数据加载和预处理 36
3.2.2 张量的处理 37
3.2.3 模型的参数与初始化操作 40
3.3 本章小结 42
第4章 一学就会的深度学习基础算法 43
4.1 反向传播神经网络的发展历程 43
4.2 反向传播神经网络的两个基础算法详解 46
4.2.1 最小二乘法 46
4.2.2 随机梯度下降算法 49
4.2.3 最小二乘法的梯度下降算法及其Python实现 52
4.3 反馈神经网络反向传播算法介绍 58
4.3.1 深度学习基础 58
4.3.2 链式求导法则 59
4.3.3 反馈神经网络原理与公式推导 60
4.3.4 反馈神经网络原理的激活函数 65
4.3.5 反馈神经网络原理的Python实现 66
4.4 本章小结 70
第5章 基于PyTorch卷积层的MNIST分类实战 71
5.1 卷积运算的基本概念 71
5.1.1 基本卷积运算示例 72
5.1.2 PyTorch中卷积函数实现详解 73
5.1.3 池化运算 76
5.1.4 softmax激活函数 77
5.1.5 卷积神经网络原理 78
5.2 基于卷积的MNIST手写体分类 80
5.2.1 数据的准备 81
5.2.2 模型的设计 81
5.2.3 基于卷积的MNIST分类模型 82
5.3 PyTorch的深度可分离膨胀卷积详解 83
5.3.1 深度可分离卷积的定义 84
5.3.2 深度的定义以及不同计算层待训练参数的比较 86
5.3.3 膨胀卷积详解 86
5.3.4 PyTorch中基于深度可分离膨胀卷积的MNIST手写体识别 87
5.4 本章小结 89
第6章 PyTorch数据处理与模型可视化 90
6.1 用于自定义数据集的torch.utils.data工具箱的用法 91
6.1.1 使用torch.utils.data. Dataset封装自定义数据集 91
6.1.2 改变数据类型的Dataset类中的transform详解 93
6.1.3 批量输出数据的DataLoader类详解 97
6.2 基于tensorboardX的训练可视化展示 99
6.2.1 PyTorch 2.0模型可视化组件tensorboardX的安装 99
6.2.2 tensorboardX可视化组件的使用 100
6.2.3 tensorboardX对模型训练过程的展示 102
6.3 本章小结 105
第7章 残差神经网络实战 106
7.1 ResNet的原理与程序设计基础 107
7.1.1 ResNet诞生的背景 107
7.1.2 不要重复造轮子—PyTorch 2.0中的模块 110
7.1.3 ResNet残差模块的实现 111
7.1.4 ResNet的实现 113
7.2 ResNet实战:CIFAR-10数据集分类 116
7.2.1 CIFAR-10数据集简介 116
7.2.2 基于ResNet的CIFAR-10数据集分类 119
7.3 本章小结 121
第8章 基于OpenCV与PyTorch的人脸识别实战 122
8.1 找到人脸—人脸识别数据集的建立 123
8.1.1 LFW数据集简介 123
8.1.2 Dlib库简介 124
8.1.3 OpenCV简介 125
8.1.4 使用Dlib检测人脸位置 125
8.1.5 使用Dlib和OpenCV制作人脸检测数据集 129
8.1.6 基于人脸定位制作适配深度学习的人脸识别数据集地址路径 131
8.2 人脸是谁—基于深度学习的人脸识别模型基本架构 135
8.2.1 人脸识别的基本模型SiameseModel 135
8.2.2 基于PyTorch 2.0的SiameseModel的实现 136
8.2.3 人脸识别的Contrastive Loss详解与实现 137
8.2.4 基于PyTorch 2.0的人脸识别模型 138
8.3 本章小结 141
第9章 词映射与循环神经网络 142
9.1 樱桃-红色+紫色=?—有趣的词映射 142
9.1.1 什么是词映射 143
9.1.2 PyTorch中embedding的处理函数详解 144
9.2 循环神经网络与情感分类实战 145
9.2.1 基于循环神经网络的中文情感分类实战的准备工作 145
9.2.2 基于循环神经网络的中文情感分类实战 147
9.3 循环神经网络理论讲解 150
9.3.1 什么是GRU 150
9.3.2 单向不行,那就双向 152
9.4 本章小结 153
第10章 注意力机制与注意力模型详解 154
10.1 注意力机制与模型详解 154
10.1.1 注意力机制详解 155
10.1.2 自注意力机制 156
10.1.3 ticks和LayerNormalization 162
10.1.4 多头注意力 163
10.2 注意力机制的应用实践—编码器 166
10.2.1 编码器总体架构 166
10.2.2 回到输入层—初始词向量层和位置编码器层 167
10.2.3 前馈层的实现 170
10.2.4 编码器的实现 171
10.3 实战编码器—自然语言转换模型 174
10.3.1 汉字拼音数据集处理 174
10.3.2 汉字拼音转换模型的确定 176
10.3.3 模型训练部分的编写 179
10.3.4 补充说明 181
10.4 本章小结 182
第11章 开局一幅图—基于注意力机制的图像识别实战 183
11.1 基于注意力的图像识别模型Vision Transformer 183
11.1.1 Vision Transformer 整体结构 183
11.1.2 Patch Embedding 185
11.1.3 Transformer Encoder层 187
11.1.4 完整的Vision Transformer架构设计 190
11.2 基于Vision Transformer的mini_ImageNet实战 191
11.2.1 mini_ImageNet数据集的简介与下载 191
11.2.2 mini_ImageNet数据集的处理—基于PyTorch 2.0专用数据处理类 193
11.2.3 Vision Transformer模型设计 195
11.2.4 Vision Transformer模型的训练 196
11.2.5 基于现有Vision Transformer包的模型初始化 198
11.3 提升Vision Transformer模型准确率的一些技巧 198
11.3.1 模型的可解释性—注意力热图的可视化实现 198
11.3.2 PyTorch 2.0中图像增强方法详解 201
11.4 本章小结 206
第12章 内容全靠编—基于Diffusion Model的从随机到可控的图像生成实战 207
12.1 Diffusion Model实战MNIST手写体生成 207
12.1.1 Diffusion Model的传播流程 208
12.1.2 直接运行的DDPM的模型训练实战 209
12.1.3 DDPM的基本模块说明 212
12.1.4 DDPM加噪与去噪详解 215
12.1.5 DDPM的损失函数 220
12.2 可控的Diffusion Model生成实战—指定数字生成MNIST手写体 221
12.2.1 Diffusion Model可控生成的基础—特征融合 221
12.2.2 Diffusion Model可控生成的代码实战 221
12.3 加速的Diffusion Model生成实战—DDIM 223
12.3.1 直接运行的少步骤的DDIM手写体生成实战 224
12.3.2 DDIM的预测传播流程 226
12.4 本章小结 228
第13章 认清物与位—基于注意力的单目摄像头目标检测实战 230
13.1 目标检测基本概念详解 231
13.1.1 基于注意力机制的目标检测模型DETR 231
13.1.2 目标检测基本概念(注意力机制出现之前) 232
13.1.3 目标检测基本概念(注意力机制出现之后) 233
13.2 基于注意力机制的目标检测模型DETR详解 237
13.2.1 基于预训练DETR模型实现的实用化目标检测网页 237
13.2.2 基于注意力的目标检测模型DETR 239
13.3 DETR模型的损失函数 243
13.3.1 一看就会的二分图匹配算法 243
13.3.2 基于二分图匹配算法的目标检测的最佳组合 245
13.3.3 DETR中的损失函数 250
13.3.4 解决batch中tensor维度不一致的打包问题 253
13.4 基于DETR的目标检测自定义数据集实战 254
13.4.1 VOC数据集简介与数据读取 254
13.4.2 基于PyTorch中的Dataset的数据输入类 257
13.4.3 基于DETR的自定义目标检测实战 259
13.5 本章小结 261
第14章 凝思辨真颜—基于注意力与Unet的全画幅适配图像全景分割实战 262
14.1 图像分割的基本形式与数据集处理 262
14.1.1 图像分割的应用 263
14.1.2 基于预训练模型的图像分割预测示例 264
14.2 基于注意力与Unet的图像分割模型SwinUnet 267
14.2.1 基于全画幅注意力的 Swin Transformer详解 268
14.2.2 经典图像分割模型Unet详解 270
14.3 基于SwinUnet的图像分割实战 271
14.3.1 图像分割的label图像处理 271
14.3.2 图像分割的VOC数据集处理 274
14.3.3 图像分割损失函数DiceLoss详解 276
14.3.4 基于SwinUnet的图像分割实战 278
14.4 本章小结 279
第15章 谁还用GAN—基于预训练模型的可控零样本图像迁移合成实战 281
15.1 基于预训练模型的可控零样本图像风格迁移实战 281
15.1.1 实战基于预训练模型的可控零样本图像风格迁移 282
15.1.2 详解可控零样本图像风格迁移模型 283
15.2 基于预训练模型的零样本图像风格迁移实战 284
15.2.1 Vision Transformer架构的DINO模型 285
15.2.2 风格迁移模型Splicing详解 287
15.2.3 逐行讲解风格迁移模型Splicing的损失函数 291
15.3 本章小结 296
编辑推荐
1《PyTorch深度学习与计算机视觉实践》详解深度学习与计算机视觉基础、PyTorch 框架开发知识,以及图像分类、目标检测、图像分割、图像生成等一系列计算机视觉领域核心问题的实战应用。
2案例包括人脸识别、图像识别、图像生成、目标检测、图像分割、图像迁移等。
3配套PPT课件与示例源码,可用于深度学习与计算机视觉入门,也可作为高校深度学习与计算机视觉课程的教材。
01
本文摘自《PyTorch深度学习与计算机视觉实践》,获出版社和作者授权发布。