自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 STL常用算法

开始迭代器,结束迭代器,函数或者函数对象。

2025-04-18 16:54:54 419

原创 STL-函数对象

重载函数调用操作符的类,其对象被称为函数对象函数对象使用重载的()时,行为类似函数调用,也成为仿函数。

2025-04-11 22:09:31 1003

原创 map/multimap

map中所有元素都是pair<key,value>,key 是map的键,value 是map的值所有元素都会根据key自动排序map/multimap属于,底层结构是用二叉树实现。map和multimap区别map不允许容器中有重复key值元素multimap允许容器中有重复key值元素。

2025-04-09 20:58:11 219

原创 set/multiset容器

所有元素会在插入时自动排序set/multiset属于,底层结构是用实现。set<T> st;// 拷贝构造函数// 赋值运算符重载。

2025-04-07 21:59:39 330

原创 list链表

list概念:将数据进行链式存储list链表:物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表的指针链接实现的。存储数据元素的数据域和存储下一个节点位置的指针域由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于// 创建一个空的list// 将[beg,end)的元素拷贝给本身// 将n个elem拷贝给本身// 拷贝构造函数。

2025-03-27 14:46:52 504

原创 stack和queue

stack是一种(First In Last Out,FILO)的数据结构,它只有一个出口,参考数据结构的栈。

2025-03-26 19:39:42 364

原创 deque

双端数组,可以对头端进行插入删除操作deque和vector差别(就像数据结构中的栈和队列)vector对于头部的插入删除效率低,而deque则相对高效vector和deque都支持随机访问,但是vector的随机访问效率低,而deque则相对高效vector和deque都支持迭代器,但是vector的迭代器效率低,而deque则相对高效deque相对而言,对头部的插入删除操作会比vector快deque内部工作原理deque内部有个中控器,维护每段缓冲区的内容,缓冲区存放真实数据。

2025-03-20 16:55:00 656

原创 vector

vector数据结构和数组类似,单端数组数组是静态空间,vector是动态空间,vector可以动态扩展和缩小。vector容器的迭代器支持随机访问动态扩展并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。

2025-03-18 20:24:56 1180

原创 DAB-DETR论文浅读

直接在Transformer的decoder中使用边界坐标作为查询,并逐层动态更新。采用边界框坐标不仅可以通过显式位置先验提高查询与特征的相似度,解决了DETR训练收敛速度慢的问题,还允许我们利用框的宽高信息来调整位置注意力图。DETR 查询机制实际上是以级联方式逐层执行软性ROI池化操作软性ROI池化:使用柔性权重分配划分区域来句和特征,本质是一种基于注意力权重的动态特征选择机制:图像的空间特征,由CNN骨干网络提取。:空间位置编码,用于为图像特征添加位置信息。解码器部分。

2025-02-06 22:52:48 1139

原创 DN-DETR

使用新的去噪训练方法,加快DETR的训练。DETR 收敛慢的原因是二分图匹配的不稳定性。本文使用的方法:①匈牙利算法;②Transformer的decoder输出带有噪声的标注边界框(GT),并训练模型重建初始框。创新贡献首次将显式去噪任务引入DETR框架,直接解决二分图匹配的优化难题。理论证明去噪训练通过降低匹配复杂度,稳定早期训练目标。架构包含一个 Transformer 编码器和一个 Transformer 解码器。

2025-01-30 21:56:09 1056

原创 Deformable DETR

问题:DETR 缺陷:收敛速度慢;小物体检测性能低解决方案:可变形注意力模块:仅关注参考点周围的一小部分关键采样点;支持多尺度融合,无需依赖FPN等金字塔网络。

2025-01-30 21:50:04 1039

原创 DINO复现遇到的问题

如果pip install -r requirements.txt运行这个还是报错,但是pip list里有pycocotools和panopticapi-0.1的话可以不用管,接着进行编译。然后用记事本打开host_config.h,找到:#if _MSC_VER < 1910 || _MSC_VER >= 1940。我的都为12.1,还需要把环境变量里的所有不合版本的环境(CUAD_PATH和PATH)全删去。,同时如果有2022需要卸载,把环境变量里的关于2022的删掉。将1940改为2030就行!

2025-01-07 16:48:39 565

原创 4.3 C++对象模型和this指针

只有非静态成员变量才属于类的对象上1. 空对象占用的内存空间为1,为了区分空对象占用的位置2. 非静态成员变量占用4个内存空间,属于类的对象上的3. 静态成员变量static不占对象空间,不属于类的对象上的4. 函数不占对象空间,所有函数共享一个函数实例5. 静态成员函数也不占用对象空间。

2025-01-05 17:28:08 471

原创 C++类和对象

对象初始化和清理,调用构造函数和析构函数完成这两个工作编译器提供的构造函数和析构函数是空实现析构函数,没有返回值也不写void函数名称与类名相同,在名称前加上符号 ~析构函数不可以有参数,因此不可以发生重载程序在对象销毁前会自动调用析构,无须手动调用,而且只会调用一次。

2024-12-30 22:06:27 557

原创 4.C++类和对象

​ 人可以作为对象,属性有姓名、年龄、身高、体重...,行为有走、跑、跳、吃饭、唱歌...​ 车也可以作为对象,属性有轮胎、方向盘、车灯...,行为有载人、放音乐、放空调...​ 具有相同性质的==对象==,我们可以抽象称为==类==,人属于人类,车属于车类。设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号。设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。语法:class 类名{访问权限:属性和行为};区别在于默认的访问权限不同。

2024-12-25 21:33:46 411

原创 C++进阶

定义引用ref,引用了a;通过引用将a赋值20;输出a和ref都是20,因为这两个都指向了一个地址。然后调用function(a),实际是修改了a的值。在函数形参列表中,可以加const修饰形参,防止形参改变实参。引用的本质在C++内部实现是一个指针常量。使用场景:用来修饰形参,防止误操作。引用一旦初始化就不可以更改。

2024-12-24 20:50:31 237

原创 大模型时代下的目标检测的三点尝试

在机器学习和计算机视觉领域中通常指的是与整张图像相关的标签或数据,而不是图像中单个对象或像素的详细标注。简单来说就是一张图片会有一点文字描述流行的数据集有。

2024-12-16 14:09:08 1145

原创 vscode拓展显示fail to fetch

如果proxy有内容,记得删除,之后重启vscode,如果还是不行,尝试在C:\Windows\System32\drivers\etc\hosts。最后一行添加13.107.42.18 https://marketplace.visualstudio.com。还是不行就要大概率在环境变量->用户变量里有http_proxy或者https_proxy,删除后重启电脑即可。vscode连接不上扩展商店了显示fail to fetch。首先先检查vscode是否开了proxy。

2024-12-12 20:38:10 10064 10

原创 UNet网络

把“激活的神经元的特征”通过某个函数把特征保留并映射到对应的分类标签上,即负责将神经元的输入映射到输出端选用ReLU函数作为激活函数的好处有以下几个:①没有饱和区,不存在梯度消失问题。②没有复杂的指数运算,计算简单、效率提高。③实际收敛速度较快,比 Sigmoid/tanh 等激活函数快很多。④比 Sigmoid 更符合生物学神经激活机制。而缺点则是,当学习率过大的时候,可能造成大部分神经元清零死亡,即该神经元不会对任何数据有激活反应了。

2024-12-07 14:18:42 399

原创 扩散模型 (Diffusion Model)

简单理解:在我开始工作之前,雕塑已经在大理石块内完成了。它已经存在了,我只需要凿去多余的材料——米开朗琪罗。

2024-11-23 11:34:43 447

原创 GNN简介

GNN本质是更新各部分的特征:在每一轮迭代(或称为层)中,每个节点会收集来自其邻居的信息,并结合自己的特征,通过神经网络层进行处理,从而得到新的特征表示。

2024-11-21 21:05:52 550

原创 残差连接简介

然而,实践中发现,当网络层数过多时,网络的性能反而会下降,这被称为“退化问题”(Degradation Problem)。在自然语言处理中,特别是在Transformer模型中,残差连接被广泛用于连接不同层的输出,以保持信息流并提高模型的性能。其中,( x ) 是输入,( F(x) ) 是网络层的输出,( y ) 是残差连接的输出。这样,网络实际上学习的是输入和输出之间的残差(即差异),而不是直接学习输出。残差连接的基本结构包括一个或多个层的序列,以及一个将输入直接添加到这些层输出的连接。

2024-11-21 10:41:37 597

原创 MLP简介

是多层感知器(Multilayer Perceptron)的缩写,它是一种前馈人工神经网络。MLP至少包含三层节点:一个输入层、一个或多个隐藏层以及一个输出层。除输入节点外,每个节点都是一个带有非线性激活函数的神经元(或称为处理单元)。MLP利用一种称为反向传播的监督学习技术进行训练,通常与梯度下降算法结合使用。

2024-11-21 10:40:24 423

原创 注意力机制

是一个可学习的参数向量,用于计算注意力得分。它被初始化为随机值,并通过均匀分布进行调整,以确保初始值不会太大或太小。这通常用于屏蔽序列中的填充项或未来的信息。是输入的三个主要部分,它们通常是来自前一层的输出或编码器的输出。来计算的,它是一个加权和,代表了输入序列的加权表示。方法定义了注意力机制的前向传播过程,它接受。转换到一个新的空间,以便计算注意力得分。函数计算得到的,这确保了权重的和为1。参数指定了隐藏层的维度,也就是。计算了注意力得分,这是通过将。进行点积来计算最终的得分。是通过在注意力得分上应用。

2024-11-21 10:39:37 306

原创 Transformer

这个类实现了多头注意力机制,允许模型在不同的表示子空间中并行地学习信息。__init__embed_size:嵌入的维度。heads:注意力头的数量。head_dim:每个头的维度,计算为。valueskeysqueries:这三个线性层分别用于转换值、键和查询向量。fc_out:最后的线性层,用于将多头的输出合并回原始的嵌入维度。forward方法):输入包括valueskeysquery和可选的mask。首先,输入被分割成多个头,并通过相应的线性层进行转换。使用。

2024-11-21 10:38:34 1071

原创 C++核心-内存分区模型

C++程序在执行时,将内存大方向划分为代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收不同区域存放不同的数据,赋予不同的生命周期。

2024-11-20 21:30:57 362

空空如也

空空如也

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

TA关注的人

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