PyTorch深度学习与计算机视觉实践

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。
在这里插入图片描述

  本文主要介绍了PyTorch深度学习与计算机视觉实践,希望能对同学们有所帮助。

1. 前言

  在人工智能的浩瀚星空中,深度学习犹如一颗耀眼的明星,引领着计算机视觉技术的发展。在这个充满变革与机遇的时代,希望本书能够带领读者领略深度学习应用于计算视觉领域的魅力,并掌握使用PyTorch进行计算视觉应用实战的技巧。

  本书关注的是计算机视觉领域的重要分支—计算视觉,它涉及图像分类、目标检测、图像分割、图像生成等一系列核心问题。通过本书的学习,读者将了解深度学习和计算视觉的基本概念,掌握使用PyTorch进行图像处理、特征提取、模型训练和推理实践的技能。同时,本书还将通过完整的项目实战,让读者将所学知识应用到实际场景中,培养解决实际问题的能力。

2. 书籍推荐

  因此,像《PyTorch深度学习与计算机视觉实践》这样一本全面且系统地介绍是非常必要的。

在这里插入图片描述

  本书以实战为核心,以实际项目为导向。在阐述理论的基础上,带领读者踏上深度学习与计算机图像处理的探索之旅。本书不仅涵盖了基础知识,更有最新的研究成果和模型架构。通过阅读本书,读者将紧跟学术前沿,提升自身水平。

  相比其他同类书籍,本书更强调理论的融会贯通。书中的所有知识点都不是孤立的,而是相互关联,构建成一个完整的知识体系。读者可根据章节顺序,由浅入深地逐步掌握各个知识点,最终形成自己的深度学习框架。

  本书以解决图像处理实战项目为出发点,结合PyTorch 2.0深度学习框架进行深入浅出的讲解和演示。以多角度、多方面的方式手把手地教会读者编写代码,同时结合实际案例深入剖析其中的设计模式和模型架构。

2.1 内容简介

  在人工智能的浩瀚星空中,深度学习犹如一颗耀眼的明星,引领着计算机视觉技术的发展。《PyTorch深度学习与计算机视觉实践》带领读者领略深度学习在计算视觉领域的魅力,详解使用PyTorch 2.0进行计算机视觉应用实战的技巧。本书配套示例源码、PPT课件。

  《PyTorch深度学习与计算机视觉实践》共分15章,内容包括深度学习与计算机视觉、PyTorch 2.0深度学习环境搭建、从0开始PyTorch 2.0、一学就会的深度学习基础算法、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型可视化、残差神经网络实战、基于OpenCV与PyTorch的人脸识别实战、词映射与循环神经网络、注意力机制与注意力模型详解、基于注意力机制的图像识别实战、基于Diffusion Model的从随机到可控的图像生成实战、基于注意力的单目摄像头目标检测实战、基于注意力与Unet的全画幅适配图像全景分割实战、基于预训练模型的可控零样本图像迁移合成实战。

  《PyTorch深度学习与计算机视觉实践》既适合深度学习初学者、PyTorch初学者、PyTorch深度学习计算机视觉应用开发人员阅读,也可作为高等院校或高职高专计算机技术、人工智能、智能科学与技术、数据科学与大数据技术等相关专业的教材。

2.2 本书作者

  王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有图书部分包括:

  《ChatGLM3大模型本地化部署、应用开发与微调》《PyTorch语音识别实战》《从零开始大模型开发与微调:基于PyTorch与ChatGLM》《PyTorch 2.0深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow语音识别实战》《TensorFlow 2.0卷积神经网络实战》《深度学习的数学原理与实现》。

2.3 本书目录

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 本章小结 82章 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 本章小结 283章 从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 本章小结 424章 一学就会的深度学习基础算法 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 本章小结 705章 基于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 本章小结 896章 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 本章小结 1057章 残差神经网络实战 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 本章小结 1218章 基于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 本章小结 1419章 词映射与循环神经网络 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 本章小结 15310章 注意力机制与注意力模型详解 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 本章小结 18211章 开局一幅图—基于注意力机制的图像识别实战 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 本章小结 20612章 内容全靠编—基于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 本章小结 22813章 认清物与位—基于注意力的单目摄像头目标检测实战 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 本章小结 26114章 凝思辨真颜—基于注意力与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 本章小结 27915章 谁还用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

3. 购买链接

  本书的京东购买链接为:PyTorch深度学习与计算机视觉实践

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的喵喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值