自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vision Mamba代码笔记

事实上Vision Mamba重写了这个Mamba类,可以看到里边是由bimamba_type这个参数的(这其实也是Vision Mamba的主要贡献),执行如下代码。值得说明的一点是,如果你之前在跑其他的mamba,环境拿过来是不能直接直接用的,因为标准的Mamba类是没有bimamba_type这个参数的,所以,需要去Vim代码官网去找到mamba-1p1p1包,下载之后放自己项目里。按照官方readme.md配置,如果有问题照着下面这个链接改。我手敲的带中文注释的链接。

2024-05-20 21:56:33 619 2

原创 《KAN》的四个问题(转自b站耿直哥)

x和y经过直线求和再二次函数对应x加y的平方,而二者直接二次函数激活对应x方和y方,过反斜杠直线相当于求差,简直就是所见即所得,这带来了两大好处,正着用算法可以实现数据内在模式的探索和发现,反着用能把世界模型和学科知识嵌入网络结构,让Sora这样的模型长上翅膀,实现对物理世界的真实模拟。除此之外他还提出了新的网络结构自适应算法:在初始网络上通过稀疏化,剪枝,设定特定的激活函数,训练放射参数,符号化等步骤进行优化,大大提升了网络的可解释性让神经网络这个黑河训练的老大难问题得到了极大的缓解。

2024-05-20 15:58:59 456

原创 《TAM》论文笔记(上)

由于相机运动、速度变化和不同活动等因素,视频数据具有复杂的时间动态。为了有效地捕捉这种多样化的运动模式,本文提出了一种新的时间自适应模块(TAM),根据自己的特征图生成视频特定的时间核。TAM提出了一种独特的两级自适应建模方案,将动态核解耦为位置敏感重要性图和位置不变聚合权重。重要性图是在局部时间窗口中学习的,以捕获短期信息,而聚合权重是从全局视图生成的,重点是长期结构。

2024-05-09 23:36:06 1275

原创 《Tam》论文笔记(下)

此外,我们的全局分支本质上执行一个视频自适应卷积,其滤波器的大小为1 × k × 1 × 1,而正常3D卷积中的每个滤波器的大小为C × k × k,其中C为通道数,k为接收野。这两个分支侧重于时间信息的不同方面,其中局部分支试图通过使用时间卷积来捕获短期信息以关注重要特征,而全局分支旨在结合远程时间结构来指导具有全连接层的自适应时间聚合。我们的TAM由两个分支组成:局部分支L和一个全局分支G,旨在学习位置敏感的重要性图来增强鉴别特征,然后产生位置不变权值,以卷积的方式自适应地聚合时间信息。

2024-05-09 23:16:01 678

原创 Pycharm远程同步的mapping与sync

区别就是,2包括1,要用服务器环境跑,项目也要放到服务器上,用2的同时会自动建立一个1的mapping链接,创建虚拟环境链接之后用1的步骤打开mapping可以发现已经创建对应mapping。如果修改这个mapping的值之前的sync的值也会改动,其实mapping的值就是用sync初始化的,在链接完虚拟环境之后就不存在sync的值了。再一个就是,每次Upload都是用mapping指向的地址进行Upload的。一个是链接虚拟环境的时候会有一个sync,那么这两种同步有什么区别呢?

2024-05-07 23:08:49 306

转载 apex安装解决ModuleNotFoundError: No module named ‘packaging‘ error: subprocess-exited-with-error

【代码】apex安装解决ModuleNotFoundError: No module named ‘packaging‘ error: subprocess-exited-with-error。

2024-05-07 20:45:03 50

原创 Pycharm无法链接服务器环境(host is unresponsived)

困扰了很久的一个问题,一开始是在服务器ubuntu20.04上安装pycharm community,直接运行服务器上的pycharm community就识别不了anaconda中的环境。后来改用pycharm professional也无法远程连接上服务器的环境,识别不了服务器上的环境,如下图点create无反应(这里无反应是因为服务器端无响应)现实Host is unresponsive,服务器无响应,这怎么回事,我挂都挂上了,可以正常连接,为啥这个环境识别不了?再打个yes,路径加入环境变量。

2024-05-07 19:44:06 438

原创 《Video Mamba Suite》论文笔记(4)Mamba在时空建模中的作用

对于由 M 帧组成的给定输入,我们在对应于每一帧的标记序列的中间插入 cls 标记。有趣的是,尽管 ImageNet-1K 上 ViT-S [69] 和 ViM-S [96] 之间的性能差距很小(79.8 vs. 88.5),ViViM-S 在零样本多实例检索上显示出比 ViT-S 的显着改进(+2.1 mAP@Avg)。通过Video Mamba Suite,包括14个模型/模块12个视频理解任务,我们证明了Mamba能够有效地处理复杂的时空动态,表现出优越的性能和有前途的效率-性能权衡。

2024-05-06 17:04:42 1149 2

原创 《Video Mamba Suite》论文笔记(3)Mamba作为时序适配器的作用

这确保了新模型的输出与原始模型的输出相匹配。值得注意的是,标准的ViM块比自我注意力模块(4C^2)具有更多的参数(略多于6.25C^2),其中C指的是特征维度。值得注意的是,与时间自注意力块相比,我们使用的 VIM 时间块的参数更少,突出了 Mamba 选择性扫描 [30] 的特殊参数利用率和信息提取能力。令人惊讶的是,我们观察到时空 ViM 块虽然在时空级别引入了全局建模,但实际上会导致性能下降(ID7 vs ID8)我们假设基于扫描的时空可能会损害预先训练的空间注意块产生的空间特征分布。

2024-05-06 16:25:48 1143

原创 《Video Mamba Suite》论文笔记(2)Mamba对于多模态交互的作用

对于 Charade-STA [28],基于 Mamba 的方法也实现了相当的性能。鉴于 Mamba [30] 是一个基于线性扫描的模型,而转换器基于全局令牌交互,直观地说,我们认为标记序列中文本的位置。为了研究这一点,我们在表 7 中包含了不同的文本视觉融合方法,而图 3 说明了四种不同的标记排列。Qvhighlight[44]受到这种融合的影响较小,而 Charade-STA [28] 对文本位置表现出特别的敏感性,这可能是由于数据集的特征。最后,取出文本增强的视频特征̃Ve,然后送入预测头。

2024-05-06 16:04:01 503

原创 《Video Mamba Suite》论文笔记(1)Mamba在时序建模中的作用

理解视频是计算机视觉研究的基本方向之一,在大量致力于探索 RNN、3D CNN 和 Transformer 等各种架构的工作的努力下。新提出的状态空间模型架构,例如 Mamba,展现出了其能够将长序列建模方面的成功扩展到视频建模领域的良好特性。为了评估 Mamba 是否可以成为视频理解领域中 Transformer 的可行替代方案在这项工作中,我们进行了一组全面的研究,探索 Mamba 在视频建模中可以扮演的不同角色,同时研究 Mamba 可能展现出良好性能的不同任务。

2024-05-06 15:26:01 1260

原创 《Vid2Seq》论文笔记

在这项工作中,我们引入了Vid2Seq,这是一种多模态单阶段密集事件字幕模型,它在大规模可用的叙述视频上进行了预训练,Vid2Seq 架构使用特殊的时间标记(time tokens)增强了语言模型,使其能够同时预测同一输出序列中的事件边界和文本描述。这种统一的模型需要大规模的训练数据,这在当前的注释数据集中是不可用的。我们表明,通过将转录语音的句子边界重新表述为伪事件边界,并使用转录的语音句子作为伪事件字幕,可以利用未标记的叙述视频进行密集视频字幕。

2024-04-22 21:07:32 1589 4

原创 《GVL》论文笔记

近年来,联合视频-语言学习受到越来越多的关注。然而,现有的工作主要集中在单个或多个修剪的视频剪辑(事件),这使得人工注释的事件边界在推理的过程中变得很重要。为了摆脱这种关系,我们提出了一个针对未修剪视频的基础视觉语言学习框架,该框架自动检测信息事件并有效地挖掘多句描述与相应事件段之间的对齐。我们没有粗略的视频语言对齐,而是提出了两个双重先验任务(pretext task)来促进细粒度的段级对齐,即文本到事件的定位 (TEG) 和事件到文本生成 (ETG)。

2024-04-15 01:11:57 908 1

原创 DataLoader的collate_fn参数

现在我把collate_fn写进dataset里,直接打印一下batch看看效果(这里需要把batch return了,因为dataloader如果选择了用collate_fn参数的话最终的输出是用collate_fn指定的函数的返回值给出的(这里设置函数名同参数名,这是默认的,可以自定义函数名))__getitem__(self, idx)得到对应的数据,将这些数据(样本对)传入collate_fn指定函数进行处理,因为没有自动的将样本对拆开重组,所以一般需要手工操作,正如文章开头的那段代码。

2024-04-09 17:13:28 798

原创 《BERT》论文笔记

我们引入了一种新的语言表示模型 BERT,它代表来自 Transformer 的双向编码器表示。与最近的语言表示模型 (Peters et al., 2018aElmo;GPT) 不同,BERT 旨在通过联合考虑所有层中的左右上下文来从未标记文本中预训练深度双向表示。(这句话是针对GPT而说的)因此,预训练的 BERT 模型只需一个额外的输出层就可以进行微调,为各种任务(例如问答和语言推理)创建最先进的模型,而无需大量特定于任务的架构修改。

2024-04-07 00:05:45 844 1

原创 《PDVC》论文笔记

传统的二阶段方法通过将注意力区域限制在事件边界内来对齐事件片段及其标题,但本文的标题头不能访问事件的边界,增加了学习语言单词和帧之间关系的优化难度。最后,选择置信度最高的个事件作为最终的结果。然后,就得到一组元组,,来表示检测到的事件,其中是事件查询的定位置信度。为了在视频中捕获丰富的时空特征,首先采用了一个预训练的动作识别网络来提取帧级的特征,并通过插值算法将特征图的时间维度缩放到固定长度,以方便。之间的互相促进,作者直接检测一组具有适当时间长度的标题,其中分别表示事件的开始时间、结束时间和事件的标题。

2024-04-03 18:54:03 1211 1

原创 《VMamba》论文笔记

我们证明了通过mamba[12]引入的选择性扫描机制,所提出的VMamba能够匹配现有流行的视觉基础模型,如ResNet[19]、ViT[10]、swin[27]和convnext[29],显示了VMamba作为强大基础模型的潜力。早期基于vit的模型通常需要大规模的数据测试[10],并以朴素的配置出现[54,58,1,31]。在强大的计算设备(GPU)和大规模数据集[7]的帮助下,越来越深入的[38,41,19,22]和高效的模型[20,42,52,36]被提出,以提高跨视觉任务的性能。

2024-03-30 20:53:47 1258

原创 《VideoMamba》论文笔记

基于注意力的模型[2,4,59,63,89]的引入,如TimeSformer[4]和ViViT[2],通过有效地捕获视频序列中的远程依赖关系,增强了时间关系的理解,取得了显著的进展。结果如图6a所示,表明该策略可以获得预期的更好的收敛性。(1)视觉域中的可扩展性:我们检查 VideoMamba 的可扩展性并发现,虽然纯 Mamba 模型随着规模的增加而趋于过拟合,但我们引入了一种简单而有效的自蒸馏策略,允许 VideoMamba 随着模型和输入大小的增加而实现显着的性能改进,而无需大规模数据集预训练。

2024-03-29 22:08:13 1194

原创 《Vision mamba》论文笔记

最近,具有高效硬件感知设计的状态空间模型 (SSM),即 Mamba 深度学习模型,在长序列建模方面显示出巨大潜力。同时,纯粹基于SSM构建高效通用的视觉骨干是一个吸引人的方向。然而,由于视觉数据的位置敏感性和全局上下文对视觉理解的要求,表示视觉数据对SSMs具有挑战性。在本文中,我们表明,不需要依赖自注意力进行视觉表示学习并提出了一种新的具有双向 Mamba 块 (Vim) 的通用视觉主干,它使用位置嵌入标记图像序列并使用双向状态空间模型压缩视觉表示。

2024-03-28 21:54:45 2049 4

原创 Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)

现在为深度学习中大多数令人兴奋的应用程序提供动力的基础模型,几乎普遍基于Transformer架构及其核心的注意力模块。许多subquadratic-time(次二次时间)架构,如线性注意力、门控卷积和循环模型,以及结构化状态空间模型(ssm)已经被开发出来,以解决Transformer在长序列上的计算效率低下问题,但它们在语言等重要模态上的表现不如注意力。我们发现这些模型的一个关键弱点是它们无法执行基于内容的推理,并进行了一些改进。首先,简单地让SSM参数成为输入的函数,通过离散模态。

2024-03-26 17:28:08 1306 1

原创 YOLOV1-V9发展历程(1) (V1-V5)

1、准确 (候选框多,效果自然好一些)1、慢 2、候选框太小不能看到整个图像的全景(管中窥豹)(会丢失信息:背景|背景和前景之间的关系|不同物体之间的关系|全图的关系)速度快,不需要复杂的上下游产业链的协同,也不需要对每一个工序单独的训练和优化,是一个,端到端,完整统一的框架但准确率不高,对小目标和密集目标识别效果不好(当然这是以前的说法了)better:比V1性能提升。准确率高Faster:比V1更快Strong:V2能检测9000多种类别。

2024-03-19 17:15:58 1903 2

原创 Video Caption的常用数据集(持续更新)

虽然人们对用自然语言描述视频的任务越来越感兴趣,但目前的计算机视觉算法在视频及其可以识别的相关语言的可变性和复杂性方面仍然受到严重限制。这在一定程度上是由于当前基准测试的简单性,这些基准测试主要集中在特定的细粒度领域,具有有限的视频和简单的描述。虽然研究人员已经为图像字幕提供了几个基准数据集,但我们不知道有任何大规模的视频描述数据集具有全面的类别和多样化的视频内容。在本文中,我们提出了MSR-VTT(代表“MSR视频到文本”),这是一种用于视频理解的新型大规模视频基准,特别是将视频转换为文本的新兴任务。

2024-03-14 16:13:35 1138

原创 PDVC代码细节

以download_c3d_features.sh为例这段代码是一个命令行脚本,用于从指定的URL下载C3D特征文件,并进行后续的文件处理。首先,使用`wget`命令下载了6个C3D特征文件:下载的命令格式为`wget `,其中``是特征文件的具体地址。接下来,使用`cat`命令将下载的6个部分文件合并为一个名为`c3d_features.zip`的压缩文件。

2024-03-14 14:38:43 1067

原创 SwinTransformer论文笔记

Patch Merging顾名思义就是把临近的小patch合并成一个大patch,这样就可以起到下采样一个特征图的效果了,文中的的patch Merging是想下采样两倍,所以说在选点的时候是每隔一个点选一个,经过隔一个点采一个样之后,原来这个张量就变成了四个张量,,如果原张量的维度是h*w*c,经过这次采样之后就得到了四个张量,每个张量的大小是h/2、w/2,4c它的尺寸都缩小了一倍,相当于用空间上的维度换了更多的通道数。在浅层的卷积层中,卷积核的感受野较小,只能看到输入特征图的局部区域。

2024-03-14 14:35:44 857

原创 《Learning Hierarchical Modular Networks for Video Captioning》论文笔记

1、文章作者提出了一个分层模块化网络(HMN),在生成字幕之前,以四个粒度连接视频表示和语言语义:实体、动词、谓词和句子。每个级别由一个模块实现,以将相应的语义嵌入到视频表示中。2、提出了一个基于字幕场景图的强化学习模块,以更好地衡量句子的相似性。视频字幕旨在为给定的视频剪辑生成自然语言描述。现有方法主要侧重于通过预测字幕和真实文本之间的逐字比较进行端到端表示学习。尽管取得了重大进展,但这种监督方法忽略了视觉和语言实体之间的语义对齐,这可能会对生成的字幕产生负面影响。在这项工作中,我们提出。

2024-03-14 14:28:42 1419

原创 Dence Video Caption方向论文整理(持续更新)(转载标明出处)

什么是密集视频描述?andvideos.密集视频描述要在的视频上定位对事件这是一个非常复杂的问题,因为这个问题:1、涉及到多模态2、从模型整体来说,有分布式模型也有端到端模型,各自有各自的优缺点3、(无论模型整体分布式模型还是端到端模型)功能模块多,系统层次深,如何组合各个模块协同工作4、模块内部架构的选择也是一个问题。

2024-03-12 22:59:12 1060 1

原创 《Multi-modal Dense Video Captioning》(MDVC)论文笔记

密集视频字幕是一项从未修剪的视频定位有趣事件并为每个本地化事件生成文本描述(标题)的任务。以前的密集视频字幕的大部分工作都完全基于视觉信息,完全忽略了音频轨迹。然而,音频和语音,特别是人类观察者在理解环境方面的重要线索。在本文中,我们提出了一种新的密集视频字幕方法,该方法能够利用任意数量的模态进行事件描述。具体来说,我们展示了音频和语音模式如何改进密集的视频字幕模型。我们应用自动语音识别 (ASR) 系统来获得语音的时间对齐的文本描述(类似于字幕),并将其视为视频帧和相应的音频轨道的单独输入。

2024-03-12 17:08:36 1066

原创 DETR学习笔记

PaperReader上搜索EndtoEnd。

2024-03-07 21:02:37 976

原创 Alpha-CLIP: A CLIP Model Focusing on Wherever You Want

对比语言-图像预训练(CLIP)在从不同任务中从图像中提取有价值的内容信息方面起着至关重要的作用。它将文本和视觉模式对齐以理解整个图像,包括所有细节,即使是与特定任务无关的细节。然而,为了更精细地理解和控制图像的编辑,关注特定感兴趣区域变得至关重要,这些区域可以表示为点、掩码或框由人类设置或由模型生成。为了满足需求,我们引入了Alpha-CLIP,这是一个增强的CLIP版本带有辅助alpha通道,以建议注意区域,并使用构建的数百万个RGBA区域-文本对进行微调。

2024-03-04 22:12:47 967

原创 nn.Conv2d()参数详解

偏置的作用是引入模型的偏移能力,它可以在每个通道上添加一个常量值,从而提供了模型的灵活性和表达能力。二者的卷积核大小都是一样的(滑窗的实际大小是一样的),但空洞卷积的滑窗(kernel)元素之间是存在一些间隙的,这些间隙在空洞卷积中成为膨胀因子(dilated ratio)。代表填充内容,可选项有4种:'zeros', 'reflect','replicate' or 'circular',其默认选项为'zeros'可以是一个整数,表示在输入的高度和宽度的周围添加的零填充的像素数,或者是一个元组。

2024-02-20 23:24:26 1334

原创 浅谈神经网络归一化(输入归一化,BatchNorm和LayerNorm)

以前常看到许多著名的模型中(Transformer,SwinTransformer...)都存在着归一化操作,当时只道是寻常,了解了大概功能和其存在的意义之后就没再深研究,最近自己上代码打算着手实战,相对这个歌操作进行一个概要的梳理,重点在与原理与应用,至于设计者的构思不做详细阐述。

2024-02-17 02:41:45 1994 1

原创 张量(tensor)与向量(vector)的维度

如果我给出一个元组(7,8,9),凭借我们的数学直觉,我们一眼就看出他是一个向量,代表着在三维空间中的一个有向线段,但是如果我给出的是一个数组a=[7,-8,9],这显然是一个长度等于3的数组,因为我们想声明这个数组时肯定是先int arr[3] = {7,-8,9};//C,这显然是一个一维度数组,那么它到底是几维的?如果你对这个问题产生了疑惑,本文可能会提供一些帮助。

2024-02-13 21:59:18 1428

原创 (保姆级)Pytorch构建神经网络的简单实例——对FashionMNIST数据集图像进行分类(源代码来源于Pytorch计算机视觉实战第三章)

FashionMNIST(时尚MNIST)是一个经典的计算机视觉数据集,用于图像分类任务。它是由 Zalando Research 创建的,旨在替代传统的MNIST数据集,以更贴近实际场景中的图像分类问题。FashionMNIST数据集包含了60,000个用于训练的图像样本和10,000个用于测试的图像样本,总共包括10个类别。每个样本都是灰度图像,分辨率为28x28像素。每个像素的值介于0到255之间,表示像素的灰度强度。数据集中的图像样本代表了不同种类的时尚商品,包括衣服、鞋子、手袋等。

2024-02-05 03:09:34 481 1

原创 Numpy实现最简单的梯度下降网络权重更新(导数定义法)(《Pytorch计算机视觉实战》第一章源码注释,仅作个人学习记录用)

【代码】Numpy实现最简单的梯度下降网络权重更新(Pytorch计算机视觉实战第一章源码注释,仅作个人学习记录用)

2024-01-24 14:41:38 420

原创 Resnet的一些思考

Resnet一些学习理解

2023-09-22 20:38:14 66 1

原创 L1-059 敲笨钟 (20 分)

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输入首先在第一行给出一个不超过 2

2022-04-22 15:23:54 79

原创 L2-011 玩转二叉树 (25 分)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2 6 5 7输出样

2022-04-20 21:58:25 69

原创 L1-032 Left-pad (20 分)

根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。输入格式:输入在第

2022-04-14 22:28:14 81

原创 L1-027出租

#include <stdio.h>#include <string.h>#include <bits/stdc++.h>#define N 10 using namespace std;int main(){ char tel[11]; int arr[N]; int index[N]; int mark[N]={0}; int k1=0,k2=0; for(int i=0;i<11;i++){ cin>>tel[i];.

2022-04-11 00:49:58 184

原创 L2-010 排座位 (25 分)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询

2022-04-07 20:13:22 66

空空如也

空空如也

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

TA关注的人

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