新书速览|PyTorch深度学习与计算机视觉实践

news2024/9/20 16:50:57

《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课件与示例源码,可用于深度学习与计算机视觉入门,也可作为高校深度学习与计算机视觉课程的教材。

本文摘自《PyTorch深度学习与计算机视觉实践》,获出版社和作者授权发布。

PyTorch深度学习与计算机视觉实践(人工智能技术丛书)——jd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Bean配置文件创建对象

类型&#xff1a; 1、值类型 2、null &#xff08;标签&#xff09; 3、特殊符号 &#xff08;< -> < &#xff09; 4、CDATA <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/bea…

【Python】成功解决conda创建虚拟环境时出现的CondaHTTPError: HTTP 000 CONNECTION FAILED错误

【Python】成功解决conda创建虚拟环境时出现的CondaHTTPError: HTTP 000 CONNECTION FAILED错误 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&a…

乐鑫 Matter 技术体验日回顾|全面 Matter 解决方案驱动智能家居新未来

日前&#xff0c;乐鑫信息科技 (688018.SH) 在深圳成功举办了 Matter 方案技术体验日活动&#xff0c;吸引了众多照明电工、窗帘电机、智能门锁、温控等智能家居领域的客户与合作伙伴。活动现场&#xff0c;乐鑫产研团队的小伙伴们与来宾围绕 Matter 产品研发、测试认证、生产工…

elmentui this.$confirm使用模板字符串构建HTML结构

tip(){const checkingList [];const findList[入会1,入会2,入会3] //数组const sueccList [{name:入会,suecc:1000,numcot:1000},{name:aaaaa,suecc:222,numcot:3333}] //数组对象var message// 使用模板字符串构建HTML结构if(sueccList.length>0){message <div>…

【系统架构设计】数据库系统(二)

数据库系统&#xff08;二&#xff09; 数据库模式与范式数据库设计数据库设计的方法数据库设计的基本步骤 事务管理并发控制故障和恢复 备份与恢复分布式数据库系统数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 数据库设计的方法 目前已有的数据库设计方法可分…

Matlab 命令行窗口默认输出(异常)

目录 前言Matlab 先验知识1 异常输出的代码2 正常输出的代码 前言 在单独调试 Matlab 写的函数时出现不想出现的异常打印值&#xff0c;逐个注释排查才找到是 if elseif else 代码块的问题&#xff0c;会默认打印输出 else 部分第一个返回值的值&#xff08;下方代码中的 P值&…

【linux】Shell脚本三剑客之grep和egrep命令的详细用法攻略

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【MySQL进阶之路 | 高级篇】简谈redo日志

1. 前言 事务有四种特性&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢&#xff1f; 事务的隔离性由锁机制实现。而事务的原子性&#xff0c;一致性和持久性由事务的redo日志和undo日志来保证。 REDO LOG称为…

Mysql或MariaDB数据库的用户与授权操作——实操保姆级教程

一、问题描述 在日常的工作中,我们需要给不同角色的人员创建不同的账号,他们各自可访问的数据库或权限不一样,这时就需要创建用户和赋予不同的权限内容了。 二、问题分析 1、创建不同的角色账号; 2、给这些账号授予各自可访问数据库的权限。 三、实现方法 Centos8安装…

多层感知机(神经网络)

目录 一、感知机&#xff08;逻辑回归、二分类&#xff09;定义&#xff1a;二、感知机不能解决XOR问题&#xff1a;三、多层感知机定义&#xff1a;四、训练过程&#xff1a;1.参数维度&#xff1a;2.常用激活函数&#xff1a;2.1Sigmoid激活函数&#xff1a;2.2Tanh激活函数&…

排序XXXXXXXXX

信息学奥赛&#xff5c;常见排序算法总结&#xff08;C&#xff0b;&#xff09; - 腾讯云开发者社区-腾讯云 (tencent.com) https://cloud.tencent.com/developer/news/975232 常用序号层级排序 一、序号 序号Sequence Number&#xff0c;有顺序的号码&#xff0c;如数字序号…

数据结构: 链表回文结构/分割链表题解

目录 1.链表的回文结构 分析 代码 2.链表分割 ​编辑分析 代码 1.链表的回文结构 分析 这道题的难点是空间复杂度为O&#xff08;1&#xff09; 结合逆置链表找到链表的中间节点就可以解决了。 先找到链表的中间节点&#xff0c;再对中间节点的下一个节点进行逆置&…

代码随想录打卡第三十五天

代码随想录–动态规划部分 day 35 动态规划第三天 文章目录 代码随想录--动态规划部分一、卡码网46--携带研究材料二、力扣416--分割等和子集 一、卡码网46–携带研究材料 代码随想录题目链接&#xff1a;代码随想录 小明是一位科学家&#xff0c;他需要参加一场重要的国际科…

Leetcode—297. 二叉树的序列化与反序列化【困难】

2024每日刷题&#xff08;148&#xff09; Leetcode—297. 二叉树的序列化与反序列化 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(…

学习记录——day18 数据结构 树

树的存储 1、顺序存储 对于普通的二叉树&#xff0c;不适合存储普通的二叉树顶序存储&#xff0c;一般用于存储完全二叉树而言&#xff0c;如果使用顺序存储&#xff0c;会浪费大量的存储空间&#xff0c;因为需要给没有节点的位置留出空间&#xff0c;以便于后期的插入。 所以…

Springboot循环依赖的解决方式

Springboot循环依赖的解决方式 起因原因解决方案配置文件解决使用工具类获取bean还有一种我设想的方案 起因 今天重构代码时&#xff0c;发现之前的代码结构完全混乱&#xff0c;没有按照MVC分层思想去编写&#xff0c;很多业务逻辑写在了controller中&#xff0c;导致引用的很…

WebStorm中在Terminal终端运行脚本时报错无法加载文件进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅

错误再现 我们今天要 在webstorm用终端运行脚本 目的是下一个openAPI的 前端请求代码生成的模块 我们首先从github上查看官方文档 我们根据文档修改 放到webstorm终端里执行 报错 openapi : 无法加载文件 C:\Users\ZDY\Desktop\多多oj\dduoj\node_modules\.bin\openapi.p…

LabVIEW多种测试仪器集成控制系统

在现代工业生产与科研领域&#xff0c;对测试设备的需求日益增长。传统的手动操作测试不仅效率低下&#xff0c;而且易出错。本项目通过集成控制系统&#xff0c;实现了自动化控制&#xff0c;降低操作复杂度和错误率&#xff0c;提高生产和研究效率。 系统组成与硬件选择 系…

逆向软件更新 x64dbg 加入 windows api 函数设断点插件

百度网盘链接&#xff1a;https://pan.baidu.com/s/1VaGP0rN8uTf8j_SzBgaEPg?pwd6666

Docker容器限制内存与CPU使用

文章目录 Docker 容器限制内存与 CPU 使用内存限额内存限制命令举例使用 `nginx` 镜像学习内存分配只指定 `-m` 参数的情况CPU 限制命令举例验证资源使用Docker 容器限制内存与 CPU 使用 在生产环境中,为了保证服务器不因某一个软件导致服务器资源耗尽,我们会限制软件的资源…