自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pengxiang1998的博客

针对自己在学习过程中的一些见解和问题进行汇总

  • 博客(370)
  • 资源 (29)
  • 收藏
  • 关注

原创 Paddle与AFFormer环境配置

本次重新记录一下paddle的安装过程,主要是因为在进行服务器环境初始化时没有进行正确的环境安装。

2023-06-08 18:34:52 48

原创 MMDetection环境配置与使用

这里我替换了数据集后,运行报错:f’class找到这个目录下的文件,修改文件里的 num_classes=2 ,修改成自己的类别数目。修改里边的def coco_classes(): ,将return内容修改成自己的类别。修改里边的,将修改成自己的类别。

2023-06-07 10:32:26 337

原创 MMDetection学习记录(二)之配置文件

介绍MMDetection的配置文件主要结构

2023-06-05 21:17:07 370

原创 MMDection学习记录(一)之环境配置

MMDetection 目标检测工具箱环境配置

2023-06-05 20:23:40 120

原创 注意力机制学习记录

ECA通道注意力机制

2023-06-02 10:25:36 19

原创 Sinkhorn-Knopp算法

Sinkhorn-Knopp是为了解决最优传输问题所提出的。

2023-05-31 17:19:56 510

原创 DINO损失函数构造解析

idx值为:(tensor([0, 0, 0, 0, 1, 1, 1, 1]), tensor([696, 720, 721, 866, 0, 1, 2, 3]))idx值为(tensor([0, 0, 0, 0, 1, 1, 1, 1]), tensor([696, 720, 721, 866, 0, 1, 2, 3]))随后我们看看如何损失函数的计算,首先是进行匹配,即将预测框与真值框使用二分匹配的方式进行匹配。方法的定义可知,其返回结果为所属batch与预测框的编号。

2023-05-18 15:32:47 505

原创 PVT(Pyramid Vision Transformer)学习记录

x为torch.Size([2, 3136, 64]),首先经过permute进行维度变换为torch.Size([2, 64,3136]),随后经过reshape为:torch.Size([2, 64, 56, 56])值得注意的是,只有stage1上patch=4,在后面的三个stage上patch都为2,这样也就参考卷积,其是一个二倍大小的关系。首先我们的输入图片为torch.Size([2, 3, 224, 224]),即batch-size=2,channel=3,W=H=224。

2023-05-16 15:28:09 466

原创 DETR类环境快速搭建

随后切换到DINO目录,安装所需包,记得将requirements.txt 中的git clone下载删掉。随后修改pycocotools中配置使其输出多个类别的AP值。随后安装pycocotools。

2023-05-13 15:59:43 105

原创 DAB-Deformable-DETR源码学习记录之模型构建(二)

书接上回,上篇博客中我们学习到了Encoder模块,接下来我们来学习Decoder模块其代码是如何实现的。其实Deformable-DETR最大的创新在于其提出了可变形注意力模型以及多尺度融合模块:其主要表现在Backbone模块以及self-attention核cross-attention的计算上。这些方法都在DINO-DETR中得到继承,此外DAB-DETR中的Anchor Query设计与bounding box强化机制也有涉及。

2023-04-27 14:52:48 448

原创 目标检测之损失函数

损失函数的作用为度量神经网络预测信息与期望信息(标签)的距离,预测信息越接近期望信息,损失函数值越小。在目标检测领域,常见的损失分为分类损失和回归损失。

2023-04-26 16:10:18 430

原创 DAB-Deformable-DETR代码学习记录之模型构建

DAB-DETR的作者在Deformable-DETR基础上,将DAB-DETR的思想融入到了Deformable-DETR中,取得了不错的成绩。今天博主通过源码来学习下DAB-Deformable-DETR模型。

2023-04-25 10:59:07 302

原创 DAB-DETR代码学习记录之模型解析

在Decoder部分的(Anchor Boxes)中,其初始化为【2,300,4】会通过,x,y,w,h都会进行,都转换为128维度,4个即为512维,随后通过一个MLP转换为256。位置编码方式如下:总共4个,被编码维128维。下面是其主要的一个创新点,加入了宽高调制的注意力机制,之所以这样做是让注意力能够对宽高也比较敏感。

2023-04-20 09:06:44 247

原创 Windows环境下调试DAB-DETR与Deformable-DETR

先前都是在服务器上运行DETR的相关程序,服务器使用的是Linux,所以运行较为简单,但如果想要简单的debug的话就没必要使用服务器了,今天便来在Winodws环境下调试DETR类项目,这里以Deformable-DETR与DAB-DETR为例。首先是DAB-DETR的配置,这个部分较为简单,需要注意的是DAB-DETR不需要配置CUDA算子,如果我们只想执行DAB-DETR程序的话我们将DAB-Deformable-DETR的引入模块删掉即可。同时注释掉model/init下的这段代码。

2023-04-19 13:24:31 374

原创 匈牙利算法学习记录

匈牙利算法主要用来解决两个问题:求二分图的最大匹配数和最小点覆盖数。匈牙利算法事实上有两个算法,分别解决指派问题和二分图最大匹配求解问题,此处算法指求解指派问题的匈牙利算法。

2023-04-14 11:16:46 377

原创 DN-DETR源码学习记录

DN-DETR是在DAB-DETR的基础上完成的,DN-DETR的作者认为导致DETR类模型收敛慢的原因在于匈牙利匹配所导致的二义性,即匈牙利算法匹配的离散性和模型训练的随机性,导致ground-truth的匹配变成了一个动态的、不稳定的过程。举个例子,在epoch=8时,1号预测框与2号真实框匹配,但到了epoch=9时,5号预测框与2号真实框相匹配。

2023-04-13 19:43:10 606

原创 Deformable DETR模型学习记录

多尺度的特征融合方法则是取了骨干网(ResNet)最后三层的特征图C3,C4,C5,并且用了一个Conv3x3 Stride2的卷积得到了一个C6构成了四层特征图。其他方面,Deformable相较于DETR修改了query-num的数量,改为300,但在推理过程中其会仍使用top100的预测框,此外在匈牙利匹配的cost矩阵构建时class的损失由原本的softmax简单运算变为了Focus loss。过一个nn.Linear,得到多组偏移量,每组偏移量的维度为参考点的个数,组数为注意力头的数量。

2023-04-11 21:22:39 415

原创 SegFormer程序调试记录

随后切换到segformer目录下执行安装requirement.txt中指定的依赖。安装pytorch版本,博主使用的是pytorch1.7.0。此时基本已经完成环境配置过程,下载一个权重文件进行简单测试。安装完成后继续配置,注意一定要在segformer目录下。随后进入demo文件夹,修改下配置文件。

2023-04-07 22:01:02 188 1

原创 GPU服务器环境配置踩坑

今天在购买腾讯云服务器时,不小心选择错了环境,也就只能重装系统,然而重装后的系统中没有装入conda环境,需要自己手动按照一下:博主选择安装miniconda。

2023-04-07 15:32:41 92

原创 Windows 环境下SETR模型配置教程

前面在配置SETR模型过程中遇到了一些问题,最终不了了之,但无奈老师对该项目情有独钟非要看下其效果,没办法只能硬着头皮上了。

2023-04-07 09:34:28 160

原创 DETR代码学习(五)之匈牙利匹配

匈牙利匹配先前在损失函数那块已经介绍过,但讲述了并不清晰,而且准确来说,匈牙利匹配所用的cost值与损失函数并没有关系,因此今天我们来看一下匈牙利匹配这块的代码与其原理。前面已经说过,DETR将目标检测看作集合预测问题,在最后的预测值与真实值匹配过程,其实可以看做是一个二分图匹配问题,该问题的解决方法便是匈牙利算法。

2023-04-04 11:29:27 768

原创 DN-DETR调试记录

博主在进行DINO实验过程中,发现在提取了3个类别的COCO数据集中,DINO-DETR对car,truck的检测性能并不理想,又通过实验自己的数据集,发现AP值相差不大且较为符合预期,因此便猜想是否是由于DINO中加入了负样本约束导致背景难以学习进而使效果差,因此便使用了DN-DETR来进行实验。下图为DN-DETR模型框架图。接下来介绍自己的实验过程。由于DN-DETR也是DETR模型的一部分,所以我们不需要再额外配置conda环境了,使用原本的detr的conda环境即可。

2023-04-02 13:45:30 464

原创 关于Transformer中注意力的理解

拓展到目标检测领域,Q就是要找的物体,最开始Q1说自己要找马,K1说我这是马,K2说我这也是马,他们都有马的属性,K1可能由遮挡,导致只有马蹄特征,而K2有马蹄,有马尾,马头,那么计算相关性时Q1与k2的相关性便会大些,随后再看看具体值是多少,随着这样不断的学习,Q1负责找马,其对自己所要找寻的马的特征也就越来越明显,在DETR中,要训练的便是这个Q,那么Q1便会以后负责去找马,其余的也就如法炮制。Q即检索条件,K则为特征属性,比如有的K主打价格便宜,有的K主打质量,有的K主打设计。

2023-04-01 11:01:43 284

原创 Transformer正余弦位置编码理解

在学习Transformer模型过程中不可避免的一个过程便是要对序列进行位置编码,在Transformer中分为固定位置编码与可学习的位置编码,其一般采用固定位置编码中的正余弦位置编码方式。今天便以DETR模型为例,介绍正余弦编码的原理与实现过程。

2023-04-01 09:20:57 798 1

翻译 DN-DETR论文学习

本文提出了一种新颖的去噪训练方法,以加快DETR(DEtection TRansformer)训练,并加深了对类DETR方法的慢收敛问题的理解。我们表明,缓慢收敛是由于二分图匹配的不稳定性导致早期训练阶段的优化目标不一致。为了解决这个问题,除了匈牙利损失之外,我们的方法还向Transformer解码器馈送了带有噪声的GT边界框,并训练模型重建原始框,从而有效地降低了二分图匹配难度,并加快了收敛速度。我们的方法是通用的,可以通过添加数十行代码轻松插入任何类似 DETR 的方法,以实现显着的改进。

2023-03-31 09:48:16 289

原创 DAB-DETR模型学习记录

这篇论文中的贡献之一便是回答了Query到底是什么,Decoder中的Query与Encoder中的key(图像特征)做交互,从中提取信息并试驾到Value上,形成新的feature,而加入了位置先验信息后,那么Query在与key交互时便不再盲目提取语义信息,由于位置编码的约束,其就会相当于从不同的框中去提取语义信息,那么Query就类似于Fast-R-CNN中的ROI Pooling。

2023-03-30 20:49:19 638

原创 DAB-DETR论文学习记录

在本文中,1.我们提出了一种使用动态锚框进行DETR(DEtection TRansformer)的新颖查询公式,并提供了对查询在DETR中的作用的更深入理解。这个新公式直接使用框坐标作为转换器解码器中的查询,2.并逐层动态更新它们。使用框坐标不仅有助于使用显式位置先验来提高查询特征相似性并消除 DETR 中缓慢的训练收敛问题,3.而且还允许我们使用框宽度和高度信息来调节位置注意力图。这样的设计清楚地表明,DETR 中的查询可以作为以级联方式逐层执行软 ROI 池化来实现。

2023-03-30 17:19:10 425

原创 DINO-DETR在CADC数据集进行实验与分析

CADC数据集是博主从网上寻找的冰雪环境下的自动驾驶数据集,共计5250张图片,博主首先划分出1050张作为测试集,随后将剩余的4200张按照4:1划分训练集与验证集,即3360张作为训练集,840张作为验证集,之所以将1050张划分为测试集,是因为整体数据集主要划分为5个驾驶场景,为保证测试集与训练集完全独立,即训练集中没有获取到测试集的信息,故将最后一个驾驶场景作为测试集。紧接着,博主想到可以在该模型上使用CADC数据集进行实验,看看其表现如何。接下来,博主会将模型在测试上来检测其性能。

2023-03-28 09:49:06 299

原创 DINO-DETR在COCO缩减数据集上实验结果分析

博主在进行DINO-DETR模型实验时,使用缩减后的COCO数据集进行训练,发现其mAP值只能达到0.27作用,故而修改了下pycocotool的代码,令其输出每个类别的AP值,来看看是由于什么原因导致这个问题。首先在我们缩小的COCO数据集上,尽管car的标注较多,但目标都较小,而且存在很大程度的遮挡。上述实验结果首先证明了博主的猜想,即各个类别的AP值是不同的,也就说明其并非是对所有类别信息都有一个较好的结果。对应car,bus,truck为:0.49,0.72,0.42,map值为0.54。

2023-03-27 21:02:01 554 1

原创 DETR-like模型输出各类别AP值

而博主想要显示每个类别的的AP值,因此查询了相关资料发现,DETR类模型框架的AP值计算输出这块都是由pycocotools的coco.py和cocoeval.py负责完成的。

2023-03-27 16:00:16 244

原创 DETR-like 模型环境配置

这不要紧,我们在真正运行该项目时只需要调整batch-size即可,此时博主使用的显卡未NVIDIA P40,显存为24G,可以说已经足以满足需要了。首先是进行项目下载,由于博主此时并未对项目进行大量更改,只需要从github上直接git即可。再次配置即可,test.py主要进行一个维度计算测试,与你的GPU显存有关。至此,DINO-DETR的环境配置便完成了,只需要上传完数据集即可运行了。可以看到博主在进行 2048通道计算时爆显存了。然后再进行pycocotools的安装。紧接着配置CUDA算子。

2023-03-26 16:39:45 253

原创 关于使用pycharm导致C盘爆满情况的处理策略

首先博主经常使用Pycharm,这个软件在使用过程中会产生大量缓存文件,高达十几个G。最近博主的电脑C盘使用率与日俱增,看着发红的C盘心中一万只草泥马奔过。常规的清除操作都已经做过了,这里教大家从源头解决问题。如此便一下子清爽了许多。随后便开始了博主的清盘之旅。

2023-03-25 08:27:41 105

翻译 DINO-DETR论文学习记录

我们介绍了DINO(带有改进的去噪器box的DETR),一种最先进的端到端对象检测器。DINO 通过使用对比方式进行去噪训练、混合查询选择方法进行锚点初始化以及用于框预测的ook forward twice方案,在性能和效率方面比以前的类似 DETR 模型有所改进。DINO在COCO上实现了12个时期的49.4AP,在24个时期内实现了51.3AP,具有ResNet-50骨干和多尺度特征,与之前最好的类似DETR的模型DN-DETR相比,分别产生了+6.0AP和+2.7AP的显着改善。

2023-03-23 11:07:43 332

原创 DETR模型简易代码

可以看出,代码非常简练,通过实验pytorch在封装的backbone,Transformer模型以及一些全连接层,卷积层的组合便实现了DETR模型的构造。在DETR模型的论文的末尾,其给出了DETR模型的伪代码,严格意义上来讲其并非是伪代码,因为其是可以正常运行的代码。

2023-03-22 20:48:47 131

原创 DINO-DETR 实验与分析

但让我想不通的是,博主的数据集并非是直接减少,而是按照不同类别进行提取,对于某个类别而言,其不该有如此大的差距。2.按照目前对Transformer的研究来看,其效果一般在数据量及其庞大的情况下越好,因此博主虽然是按照类别进行提取了,但不可否认的是数据集数量大大缩水,所以导致了实验效果差。在验证的过程中,博主也发现,先前的loss值最多只能下降到6.2便不再下降,而在使用论文中提供的权重文件时,其可以下降到3.1左右,这倒是令我感到意外。1.博主的类别提取方法有问题,提取的数据集有问题(太可怕了)

2023-03-21 19:38:26 359 2

原创 DETR源码讲解(四)之注意力计算

24,256分别是128行编码与28列编码,这是设定好的。query_embed:torch.Size([100, 2, 256]) ,其为decoder预测输入,即论文中反复提到的object queries,每帧预测num_queries个目标,这里预测100个。其最开始时是进行随机初始为0的,之后会加上位置编码信息。这个意思是想让query对位置较为敏感,或者说应该有自己所关注的范围,不能越界。

2023-03-21 16:02:25 376

原创 DETR源码学习(三)之损失函数与后处理

在DETR模型中,在完成DETR模型的构建后,我们送入数据在完成前向传播后就需要使用预测值与真实值进行计算损失来进行反向传播进而更新梯度。在DETR模型中,其标签匹配采用的是匈牙利匹配算法。主要涉及models/matcher.py、models/detr.py和engine.py三个文件。首先在detr.py中会先定义好损失函数:然后在engine.py的train_one_epoch中前向推理结束后将输出结果与真实标签作为参数并调用criterion函数,计算损失:outputs的值pred_

2023-03-21 09:45:31 407

原创 DETR源码学习(二)之模型训练

前面在完成了DETR模型的构建后,我们接下来便是进行数据集构造与模型训练了,模型训练阶段会涉及到网络前向传播与后向传播,这才是真正的难点。

2023-03-20 20:59:49 539

原创 DETR源码学习(一)之网络模型构建

关于多头注意力机制,就是有多个单头注意力组成的,如下图单头注意力。

2023-03-20 15:37:30 437 1

原创 显存溢出:RuntimeError Unable to find a valid cuDNN algorithm to run convolution

按照这个报错猜测可能是cuDNN出了问题,但转念一想我的cuDNN明明是配置好的呀,难道断电还能影响配置,显然是不可能的。在使用服务器跑实验的过程中,突然停电了,看到本地终端的控制台提示训练已终止,不由得心中一紧,在想难道近几日的成果要付之东流了吗?此时的程序并没有终止,依旧在运行,这种情况之前就发生过,断开连接后程序依旧运行一段时间,随后才会终止。不过好在为防万一给项目设置了断点训练,只需要重启实验即可。而当我重新设置好相关参数准备再次开始实验时,却报错了。不出所料,过一会后程序便终止了。

2023-03-19 09:05:28 1081

LSTM及其衍生网络代码

主要是通过keras实现了LSTM实验,以及在此基础上分别加入注意力机制,CNN网络,以及使用seq2seq网络模型等完成的时间序列预测实验

2023-02-13

PHP简单个人博客源码

PHP简单个人博客源码,只有博客列表与添加博客功能

2021-09-05

ehart地图数据显示

ehart中国地图数据显示

2021-09-02

手机版旅游网站前端页面

手机版旅游网站前端HTML页面,仅前端

2021-08-19

SSM音乐视频网站.zip

基础框架:SSM SpringMVC+Spring+Mybatis 前端框架:Bootstrap 数据库:MySQL 5.7 开发软件及环境:eclipse JDK 1.8 Tomcat 8.0 项目介绍:https://blog.csdn.net/pengxiang1998/article/details/119530119 下载前可加我qq:2186527424咨询

2021-08-10

JavaWeb学生选课系统

JavaWeb学生选课系统采用eclipse开发,Tomcat8 ,MySQL5.5以上,jdk1.8 系统分为管理员,教师,学生 包含课程管理,选课管理,学生管理,教师管理等模块

2021-07-26

Java身份证识别接口封装

使用java封装的百度身份证识别接口,可以直接使用,并整合到自己的项目中。

2021-02-27

javaWeb仿推特博客系统.zip

JavaWeb仿推特博文系统,其中用到注册AJAX异步检测,Jsp+Servlet项目

2021-01-28

jsp+servlet+mysql实现的在线鲜花商城源码

猿来如此项目,jsp+servlet,项目功能完善,适合做课设与毕设参考。内含配置视频

2021-01-28

JavaWeb开发所需jar包

包和快速将对象封装为JSON的jar包,数据库连接jar包,JSTL等

2021-01-21

jdk1.8安装包,分享给大家

Java环境开发必须软件JDK1.8,配合eclipse使用,在这里分享给大家,省去大家去oracle官网上下载的麻烦。

2020-04-30

Tomcat8.zip

Tomcat8安装包,eclipse开发Java Web所需环境,与JDK配合使用,在这里分享给大家。

2020-04-30

search.zip

学习PHP时做的PHP仿淘宝二手交易市场课程设计,具有前后台,有购物车等功能,里面有源码和数据库,系统功能不算强大,但做个课程设计没有问题。

2020-04-28

SSM校园服务系统.zip

利用Javaweb开发的一个校园服务系统,通过发布自己的任务并设置悬赏金额,有些类似于赏金猎人。一个较为简单的SSM项目,可以学习一下。数据库源码都有

2020-04-28

java电话簿管理系统.zip

Java+MySQL电话簿管理系统,可实现增删改查等功能,稍加修改可制作为图书馆,学生管理系统等,也请大家关注我的公众号:酷酷的猿,获取更多源码资源。

2020-02-28

Taobao.zip

PHP开发的二手交易市场仿淘宝程序设计,mysql数据库,功能较为简单但比较完善,适合学习,分享给大家,解压密码请关注:酷酷的猿,回复二手市场获得程序源码

2020-02-08

library.zip

Java Web图书馆课程设计,eclipse开发,MySQL数据库,jdk1.8 Tomcat 8 ,该程序较为简单,大家可以用于入门学习Java Web 相关知识

2020-02-07

library.zip

Java Web图书馆课程设计,eclipse开发,MySQL数据库,jdk1.8 Tomcat 8 ,该程序较为简单,大家可以用于入门学习Java Web 相关知识

2020-02-07

bookstore.zip

Java Web图书馆课程设计,eclipse开发,MySQL数据库,jdk1.8 Tomcat 8 ,该程序较为简单,大家可以用于入门学习Java Web 相关知识

2020-02-07

在线客服.zip

在线客服的web界面,比较高大上,可以应用在自己的网站。

2019-07-20

登录注册界面.zip

博主收集的一些十分高大上且实用性较强的登录注册界面。

2019-07-17

登录注册进度条版

进度条版实现注册功能,界面美观,有需要的小伙伴可以下载

2019-06-08

Python爬取豆瓣网热门电影代码

一个简单的利用Python语言开发的爬取豆瓣网热门电影的小程序

2019-06-02

javaweb餐饮程序

javaweb点餐系统,前台包含购物车,菜品陈列,个人账单管理以及后台管理系统包含菜品管理及账单管理

2019-05-20

移动端web登录界面

几个可以应用在移动端的web登录界面,响应式界面设计。

2019-04-19

php通过百度接口实现菜品识别

php通过百度接口实现菜品识别,图片上传界面与菜品分析返还界面已包含在内

2019-04-08

mail及activation的jar包

mail包和activation包,其可以在java程序中用于发送邮件。

2019-02-28

mysql安装包

含有mysql安装程序及客户端程序,安装简单快捷,可用于个人数据库搭建

2019-02-22

php发送短信验证码

利用第三方短信验证码接口写的一个注册界面,输入手机号后可实现发送验证码功能。

2019-02-10

javad登录小程序

一个较为完整的Java登录小程序,包含密码验证以及相应的主题界面

2018-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除