自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 理解Attention,MHA、MQA、GQA理论知识和代码实现

【代码】理解Attention,MHA、MQA、GQA理论知识和代码实现。

2024-07-03 17:49:41 277

原创 MiniGPT-4:Enhancing Vision-language Understanding with Advanced Large Language Models

训练流程:线性映射层输出特征作为soft prompt传入LLM模型,输出对应的target文本,其中vision encoder和LLM均冻结只训练映射层。相比ChatGPT,GPT-4展示出了非凡的多模态能力,它可以利用手稿生成网站并且还能够识别出图片中的幽默元素,这是之前的模型难以实现的。发现的问题:训练后模型得到了丰富的知识,对于query能输出合理的回答,但是会产生重复、不相关、碎片化的文本。仅用公开数据集对齐视觉模型和LLM模型容易生成不自然的输出,高质量数据能有效提升模型结果的可用性。

2024-02-28 21:00:00 482

原创 InternLM-XComposer: A Vision-Language Large Model for Advanced Text-image Comprehension and Composit

Image Retrieval and Selection阶段:已知适合图片插入的段落位置和caption,clip模型用caption去检索底库图片,获取topn个图片作为候选集,再用多模态LLM从候选集中进行选择,图片的选择信息结合了前文的文本和图片,进一步提升图片、文本主题一致性。训练数据:预训练使用数据如下,基本都是image-pair对的中英双语数据,为了保留初始InternLM的能力,训练时候也用到了InternLM预训练阶段的部分文本数据。

2024-02-28 20:57:05 811

原创 vLLM: Easy, Fast, and Memory-Efficient LLM Serving with PagedAttention

Prompt阶段:通过用户输入的prompt计算第一个生成token的条件概率,即生成第一个 token。生成过程中得到 prompt token 的 KVCache,用于后续 token 的生成。Decode阶段:逐步迭代生成每个 token,在生成第t+1个token时,需要将prompt token、已生成的 token 及当前第t个token 的 KVCache拼接起来,与第t个token的query vector 完成SelfAttention等计算,由于数据依赖性,无法并行。

2024-02-28 20:52:27 1043

原创 InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning

改进Q-Former模型:instruction text与Query Embedding先self-attention融合,再抽取图像特征,得到特定任务的图像信息,作为soft prompt + instruction text传入LLM模型进行预测。由于来自不同领域的额外视觉输入,视觉-语言任务在性质上更加多样化,构建一个能够推广到广泛的视觉-语言任务的统一模型更具挑战性。的视觉语言指令调整框架,该框架通过一个统一的自然语言接口,使通用模型能够解决广泛的视觉任务。提出了一种指令感知的。

2024-02-28 20:47:12 635

原创 ERNIE-VIL 2.0: MULTI-VIEW CONTRASTIVE LEARNING FOR IMAGE-TEXT PRE-TRAINING

好处:1.特殊文本序列可看作包含粗粒度信息的文本单元,用于连接caption中的细粒度语义和图像中的抽象视觉概念,从而达到简化多模态对齐的目的。特殊文本序列:由固定prompt(如:该图片包含...)和实体标签短语组成(预训练实体检测器得到)的句子,同样进行两次dropout,得到两个不同视角的文本表征。正如人可以通过不同的描述或图片去认识真实世界一样,图像或文本同样存在多个不同的视角,单一的视角不能很好的构建模态之间的关系。的正样本对,对于caption跟tag文本序列,训练每轮迭代会随机采样取一个。

2024-02-28 20:45:30 371

原创 BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode

Image-Text Matching (ITM):学习图像和文本特征匹配,根据ITC得到的相似度在线hard构建正负例pair对,拼接query表征Z和文本表征T,采用双向的mask矩阵,经过self-attention交互,对query表征Z进行线性层二分类,对分数取平均,作为最终的输出分数。基于Q-Former提取到的视觉表征作为soft visual prompt,作为LLM语言模型的输入前缀,由于Q-Former已经预训练用于提取对文本有用的视觉表征,可减轻LLM学习视觉-文本对齐的负担。

2024-02-28 20:42:09 660

原创 Python合并lmdb文件

训练时可能涉及到很多个数据集,如果不打算写成一个lmdb,在下面合并的时候不要用lmdb.commit()函数,否则会直接在原文件写入合并后的结果。

2023-04-28 15:45:36 420 1

原创 ​RuntimeError: Trying to backward through the graph a second time, but the buffers have already free

为了减少显存的使用,pytorch训练时在调用backward()后会自动释放中间结果,等到第二次调用的时候,中间结果不存在导致的报错,可以在backward()中添加retain_graph=True参数,保留中间结果。定义了循环外的变量,在第一次backward的时候释放了,从而导致第二次forward的时候,循环外的变量释放同时无法redo导致中间结果丢失报错。等会,这不符合直觉啊,不应该每次forward都走一遍模型,创建一遍graph么?刚好评论区有人问了这个问题​​​​​​​。

2023-04-28 15:33:14 1049

原创 pytorch中copy_()、detach()、data()和clone()操作区别小结

data方法是得到一个tensor的数据信息,其返回的信息与上面提到的detach()返回的信息是相同的,也具有 内存相同,不保存梯度 信息的特点。detach()函数返回与调用对象tensor相关的一个tensor,此新tensor与源tensor共享数据内存(那么tensor的数据必然是相同的),但其requires_grad为False,并且不包含源tensor的计算图信息。copy_()函数是需要一个目标tensor,也就是说需要先构建b,然后将a拷贝给b,而clone操作则不需要。

2023-04-28 12:06:37 2149

原创 [mPLUG]: Effective and Efficient Vision-Language Learning by Cross-modal Skip-connections多模态特征融合方法泛读

模型首先在前几层采用非对称的co-attention架构,通过移除视觉侧的co-attention来提高效率,再将原始的视觉表示和语言侧的co-attention的输出串联输入到一层self-attention。对比不同多模态融合方法的耗时和性能,其中Asymmetric co-attention融合是BLIP模型中的结构,Encoder端的text特征与vit输出的image特征进行Cross-attention特征融合。视觉和语言的表征输入到由多个跳跃连接融合块组成的跨模态跳跃连接网络中。

2022-11-18 11:24:30 1038 1

原创 [BLIP]-多模态Language-Image预训练模型

学习MoCo思想,引入momentum encoder和Queue扩大对比学习的batch大小,base encoder用于梯度更新产生新的embedding,momentum encoder根据以下公式更新,k表示momentum encoder参数,q表示base encoder参数,主要为了提升embedding的一致性,维持队列大小,将最新的embedding入队列,弹出队列头embedding。最后,论文将过滤后的图像-文本对与人工标注的文本对结合起来,形成一个新的数据集用它来预训练一个新模型。

2022-11-18 11:08:31 4048

原创 RuntimeError: Cannot re-initialize CUDA in forked subprocess.

尝试使用python自带的multiprocessing模块调用torch模型使用cuda加快预测速度,报错RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the ‘spawn’ start method。启动方法才支持在进程之间共享CUDA张量。创建子进程,不被 CUDA 运行时所支持。

2022-09-21 20:52:37 3427

原创 [ByteCover2]-音频翻唱检索论文笔记

BYTECOVER2: TOWARDS DIMENSIONALITY REDUCTION OF LATENT EMBEDDING FOR EFFICIENT COVER SONG IDENTIFICATION(ICASSP2022)

2022-08-23 20:50:45 640

原创 [MOVE]-音频翻唱检索论文笔记

研究Music Information Retrieval (MIR)方向中的Cover song identification任务,减少人工特征和对齐算法的使用,本文提出MOVE网络来检索相同的音乐。

2022-08-03 17:27:27 172

原创 [ByteCover]-音频翻唱检索论文笔记

研究Music Information Retrieval (MIR)方向中的Cover song identification任务,减少人工特征和对齐算法的使用,本文提出ByterCover网络来检索相同的音乐。

2022-07-25 15:03:37 475

原创 [CQTNet]-音频翻唱检索论文笔记

研究Music Information Retrieval (MIR)方向中的Cover song identification任务,减少人工特征和对齐算法的使用,本文提出CNN网络来检索相同的音乐。

2022-07-22 15:02:58 822

原创 神经网络中 warmup 策略为什么有效

这个问题目前还没有被充分证明,我们只能从直觉上和已有的一些论文得到推测:1.有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳。2.有助于保持模型深层的稳定性。

2022-06-09 21:51:10 232

原创 coding期间遇到的bug记录

问题1:There was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was:/home/anaconda3/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)Please install a package whi

2022-02-22 15:01:32 1167

原创 git clone出现 fatal: unable to access ‘https://github.com/...‘的解决办法

将 git clone https://github.com/... 改成 git clone git://github.com/...

2022-01-29 10:33:41 1119

原创 [METER]-跨模态论文阅读笔记

论文链接:https://arxiv.org/abs/2111.02387代码链接:GitHub - zdou0830/METER: METER: A Multimodal End-to-end TransformER FrameworkVision-and-language预训练模型(VLP)总览基本流程:输入图片,通过Vision Encoder模块抽取图像特征 输入文本,通过Text Endocer模块抽取文本特征 输入图像、文本特征,通过Multimodal Fusi

2022-01-18 10:31:27 4625

原创 [UNIMO]-跨模态论文阅读笔记

论文:https://arxiv.org/pdf/2012.15409.pdfcode:Research/NLP/UNIMO at master · PaddlePaddle/Research · GitHub背景motivation:人类大脑能够处理文本、图像、语音等各种模态的信息,并通过模态间的交互增强提升对世界的认知能力。现存预训练方法只能处理单模或多模任务中的一种,同时也只能利用单模data(text or image)或有限的多模data(image-text pairs)。a

2022-01-18 10:00:54 2907

原创 SSH服务器跳转失败

问题 在一台Linux操作系统的云服务器上,通过SSH跳转到其他Linux操作系统的云服务器时,提示跳转失败。 提示信息如下:可能原因跳转到的目标服务器上的OpenSSH被重装了、IP地址或主机名称发生变化,或其他原因,导致跳转失败。解决方法 删除本机的“known_hosts”文件,即rm /root/.ssh/known_hosts...

2021-12-20 13:50:26 1596

原创 运行脚本出现ValueError: bad marshal data (unknown type code)错误

在docker环境中运行程序,报错ValueError: bad marshal data (unknown type code),主要原因在于程序中存在.pyc的缓存文件,只要删除这些文件即可。 采用命令:find ./ --name=*.pyc | xargs rm

2021-12-19 17:06:12 2612

原创 RuntimeError: CUDA error: an illegal memory access was encountered

问题:写模型的途中碰到这个问题,一顿百度要不说是pytorch版本问题,要不就说是类别索引超了引起,不过都没啥用,因为报错的地方是一个很简单的赋值操作。scores[:, 0] = -float("inf") #RuntimeError: CUDA error: an illegal memory access was encountered同时在debug的过程当中发现,模型某个网络执行后爆了个warninglm_logits = self.linear(outputs) + sel

2021-12-03 17:40:06 1834 2

原创 transformers.generator_utils函数源码解析之RepetitionPenaltyLogitsProcessor

主要记录源码中解决文本生成中词组重复出现的问题,代码中有具体操作解析。class RepetitionPenaltyLogitsProcessor(LogitsProcessor): r""" :class:`transformers.LogitsProcessor` enforcing an exponential penalty on repeated sequences. Args: repetition_penalty (:obj:`float`):

2021-12-01 11:09:53 2383

原创 python sorted按照多个key值排序(包括lambda和自定义函数)

sorted函数可以根据多个key值进行数据的排序,按照key值传入的顺序依次进行,当前面元素相同时,根据后面的key值继续排序。data = [(12, 24), (12, 15), (15, 24), (7, 30), (30, 24)]print(sorted(data, key=lambda x:(x[0], x[1]))) #根据元祖第一个值升序排序,若第一个值相等则根据第二个值升序排序print(sorted(data, key=lambda x:(x[0], -x[1...

2021-12-01 00:19:52 13578 2

原创 transformers.generator_utils函数源码解析之sample生成(包括temperature、TopK、TopP函数解析)

sample函数相较于beam_search函数要简单的多,但是需要注意的一点是,sample需要搭配logits_warper处理器列表使用,相应的处理器函数在下面。sample函数的源码解释如下,比较浅显易懂。# auto-regressive generationwhile True: # prepare model inputs model_inputs = self.prepare_inputs_for_generation(input_ids, **mod...

2021-11-22 20:04:19 4874 1

原创 torch.scatter函数详解

#torch.scatter函数官方解释scatter(output, dim, index, src) → TensorWrites all values from the tensor src into self at the indices specified in the index tensor. For each value in src, its output index is specified by its index in src for dimension != dim and

2021-11-22 19:17:52 18515

原创 torch可视化函数使用

torch的可视化函数包括两种。由tensorboard引申得到的tensorboardX faceboos专门为pytorch定制的visdomTensorboardXfrom torch.utils.tensorboard import SummaryWriter #torch1.8版本后自带#若为torch1.8版本之前 from tensorboardX import SummaryWriterwrite = SummaryWriter() #log_dir默认为run目录.

2021-11-21 21:22:39 1053

转载 文本生成各评价指标详解

文章目录前言 基于词重叠率的方法 机器翻译 & 摘要 常用指标 BLEU ROUGE NIST METEOR TER data to text 常用指标 relation generation (RG) content selection (CS) content ordering (CO) 如何实现上述的评价指标 Coverage Distinct image caption 常用指标 CIDEr 好处 SPIC

2021-11-21 16:32:51 5958

原创 Flask基本用法记录

Flask 是典型的微框架,作为 Web 框架来说,它仅保留了核心功能:请求响应处理和模板渲染,这两类功能分别由 Werkzeug(WSGI 工具库)完成和 Jinja(模板渲染库)完成。使用例子实例化Flask类,设置route路由路径,启动服务在本地测试处理函数。#首先从flask库中导入Flask函数,然后实例化的到该类的一个对象from flask import Flaskapp = Flask(__name__)#注册一个处理函数(也成为endpoint),可...

2021-11-21 16:00:11 632

原创 torch函数记录

torch.multinomial函数torch.multinomial(input, num_samples,replacement=False, out=None) → LongTensor作用是对input的每一行做n_samples次取值,输出的张量是每一次取值时input张量对应行的下标。输入是一个input张量,一个取样数量,和一个布尔值replacement。input张量可以看成一个权重张量,每一个元素代表其在该行中的权重。如果有元素为0,那么在其他不为0的元素被取干净.

2021-11-18 19:50:10 163

原创 transformers.generator_utils函数源码解析之beam_search

#beam_search主体函数while True: model_inputs = self.prepare_inputs_for_generation(input_ids, **model_kwargs) #整理下一步decoder所需数据 outputs = self( **model_inputs, return_dict=True, output_attentions=output_attentions, o.

2021-11-18 17:41:04 1849

原创 python项目导入模块报错ModuleNotFoundError

问题项目中导入自定义模块报错ModuleNotFoundError,项目目录结构如下,在a.script.py中 from b.c.脚本.py时提示找不到b模块,在b目录下创建__init__.py文件依旧报错。解决方法网上搜刮的方法大致有这么几种:如果用的pycharm,可在文件目录位置右键选择 (用的不是pycharm,目测有用) import sys (有用) sys.path.append(’引用模块的地址’) 在需要导入的文件夹创建__init...

2021-11-17 20:44:21 2703

原创 shell脚本的export不生效问题

项目中有时候需要.sh文件来调用多个脚本文件来运行,其中不乏需要环境变量export,想着在.sh文件中加入export环境变量的形式,既能初始化环境变量又能运行项目脚本,但是在用sh xx.sh启动shell文件的时候发现,export的环境都没有生效,后来发现是调用方式的问题。解决:比如脚本为run.sh,如果执行./run.sh是不生效的,要执行source ./run.sh,文件中export的环境变量才能生效。...

2021-11-17 19:09:06 2218

原创 Linux xargs命令使用记录

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,其默认的使用是echo,会将管道传输过来的内容用空白替换掉换行和空白。# cat test.txta b c d e f gh i j k l m no p qr s tu v w x y z# cat test.txt | xargsa b c d e f g h i j k l m n o p q r s t u v w x y z常用的命令如下:-n:限...

2021-11-16 23:56:41 391

原创 torch.load()出现ModuleNotFoundError错误

官方说明:the serialized data is bound to the specific classes and the exact directory structure used, so it can break in various ways when used in other projects, or after some serious refactors.也就是说,当使用这个函数的时候,pytorch序列化的是参数以及model class的路径。所...

2021-11-16 21:00:22 1885

原创 vscode python文件中库底端出现红波浪线

vscode编程时python文件中导入的库出现红波浪线,但是又能正常运行。 解决方法:工具栏选择Setting,搜索pylint,找到Pylint Args选线,点击Add Item按钮,输入--generate-members即可。...

2021-11-15 21:08:53 2854

原创 Docker中碰到的坑

1.docker中运行程序报了一下错误File "<frozen importlib._bootstrap>", line 961, in _find_and_loadFile "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 655, in _load_unlockedFile "<

2021-11-11 17:58:41 1120

空空如也

空空如也

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

TA关注的人

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