自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 资源 (12)
  • 收藏
  • 关注

原创 PaddleOCR用onnx推理代码并精度对齐

【代码】PaddleOCR用onnx推理代码并精度对齐。

2024-07-19 18:53:45 814

原创 一文搞懂 Transformer中的三种注意力机制

Transformer使用多头注意力机制的三种不同方式如下:在“编码器-解码器注意力”层中,查询来自前一层解码器,而记忆键和值则来自编码器的输出。这使得解码器中的每个位置都能关注输入序列中的所有位置。这模仿了序列到序列模型中典型的编码器-解码器注意力机制。编码器包含自注意力层。在自注意力层中,所有的键、值和查询都来自同一个地方,即编码器前一层的输出。编码器中的每个位置都可以关注编码器前一层中的所有位置。同样,解码器中的自注意力层允许解码器中的每个位置关注解码器中包括该位置在内的所有位置。

2024-07-19 14:40:10 1167

原创 BLIP-2:节约多模态训练成本:冻结预训练好的视觉语言模型参数

BLIP-2 是一种多模态 Transformer 模型,主要针对以往的视觉-语言预训练 (Vision-Language Pre-training, VLP) 模型端到端训练导致计算代价过高的问题。所以,如果能够使用,应该能够节约不少的计算代价。BLIP-2 就是这样,这个工作提出了一种借助现成的和的,高效的视觉语言预训练方法。但是,简单的冻结预训练好的视觉模型的参数或者语言模型的参数会带来一个问题:就是视觉特征的空间和文本特征的空间,它不容易对齐。

2024-07-18 11:48:52 837

原创 详解视觉Transformers

从2017年在《Attention is All You Need》中首次提出以来,Transformer模型已经成为自然语言处理(NLP)领域的最新技术。在2021年,论文《An Image is Worth 16x16 Words》成功地将Transformer应用于计算机视觉任务。从那时起,基于Transformer的各种架构陆续被提出用于计算机视觉。Transformer是一种利用注意力机制作为主要学习机制的机器学习模型,它很快成为了序列到序列任务(如语言翻译)的最新技术。

2024-07-16 11:25:05 1065

原创 超大模型加载转换Trick

在深度学习领域,大模型的训练和推理通常需要消耗大量的计算和内存。如何高效地加载和使用大模型是一个相当关键的问题。在这篇博客中,我将分享一些关于更快加载大模型和减少内存的技巧。

2024-07-15 14:10:29 740

原创 一文读懂LoRA/DoRA/MoRA

现在大模型的参数规模动不动都在10亿级别以上,微调大模型(微调这里代表着SFT,例如读者将某个大模型拿到自身领域,想使用自身领域的知识再次训练和精校大模型,就属于模型微调的领域。LoRA提出了一种微训练模型的新方法,在冻结大部分的模型参数之余,仅仅更新额外的部分参数。具体的训练过程是这样的,将原来的矩阵参数固定,然后利用新的数据继续训练大模型,而这个训练过程仅仅更新A和B矩阵。r如何选择,什么的数值是合理的?MoRA 的概念类似于 LoRA,但不是将权重矩阵分解为更小的维度,而是将其分解为小的方形矩阵。

2024-07-15 10:34:47 879

原创 LoRA微调方法理解

1.1 LoRA简介先从最近大火的LoRA(《LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGEMODELS》)说起。该文章在ICLR2022中提出,说的是利用低秩适配(low-rankadaptation)的方法,可以在使用大模型适配下游任务时只需要训练少量的参数即可达到一个很好的效果。LoRA是怎么去微调适配下游任务的?流程很简单,LoRA利用对应下游任务的数据,只通过训练新加部分参数来适配下游任务。

2024-07-12 15:28:58 630

原创 LLM_入门指南(零基础搭建大模型)

提供所有类别以及每个类别下的样例'新闻报道':'今日,股市经历了一轮震荡,受到宏观经济数据和全球贸易紧张局势的影响。投资者密切关注美联储可能的政策调整,以适应市场的不确定性。','财务报告':'本公司年度财务报告显示,去年公司实现了稳步增长的盈利,同时资产负债表呈现强劲的状况。经济环境的稳定和管理层的有效战略执行为公司的健康发展奠定了基础。','公司公告':'本公司高兴地宣布成功完成最新一轮并购交易,收购了一家在人工智能领域领先的公司。这一战略举措将有助于扩大我们的业务领域,提高市场竞争力',

2024-07-11 11:36:16 1007

原创 在目标检测数据集上微调Florence-2

Florence-2是由微软开源的轻量级视觉-语言模型,采用MIT许可。该模型在任务如图像描述、目标检测、定位和分割中展示了强大的零样本和微调能力。图1。图示展示了每个任务所表达的空间层次和语义细粒度水平。来源:Florence-2:推进多种视觉任务的统一表示。该模型将图像和任务提示作为输入,并以文本格式生成所需结果。它使用DaViT视觉编码器将图像转换为视觉标记嵌入,然后将这些嵌入与BERT生成的文本嵌入连接在一起,并通过基于Transformer的多模态编码器-解码器处理,以生成响应。图2。

2024-07-10 11:45:05 984

原创 Transformer常见问题

原理:考虑相对位置关系而不是绝对位置,通常用于更复杂的结构,如Transformer-XL。18.Transformer 模型中的自注意力机制是如何工作的?17.Transformer训练的Dropout是如何设定的?11.Transformer和Mamba(SSM)的区别。10.介绍Transformer的Decoder模块。14.Transformer的并行化体现在哪个地方?9.介绍Transformer的Encoder模块。4.介绍Transformer的Q,K,V。

2024-07-10 10:27:05 339

原创 从头开始学习扩散模型 Stable Diffusion

今天我们来揭开 Stable Diffusion 技术的神秘面纱。

2024-07-10 10:17:21 1317

原创 探索AI大模型(LLM)减少幻觉的三种策略

从提供非常少(1-5)个示例的少样本上下文学习(few-shot learning)到提供很多(100-1000)个示例的多样本上下文学习(Many-Shot In-Context Learning),性能会有很大的飞跃 - 任务越难,提示中更多的示例所带来的好处就越多。效果体现在显著降低模型幻觉的同时,提升了其在面对边缘情况或少见查询时的可靠性。检索增强:对于被标记为不一致的响应,检索机制从外部数据库获取相关信息,并将增强的信息整合到最终响应中,确保输出在事实上是准确的,并且得到了外部知识的充分支持。

2024-07-09 16:37:13 459

原创 大模型的微调和RAG的分别是什么?

通用大模型存在一定的幻觉问题,通过把企业私有的领域数据知识喂给通用大模型,从而降低了大模型的幻觉,这就是所谓的企业私有大模型,从技术层面来讲,实现企业私有大模型有2个技术手段:微调(Fine-tuning)、RAG(Retrieval Augmented Generation)检索增强生成。

2024-07-09 15:30:39 736

原创 大模型面试笔试常见问题汇总(精心准备)

首先,回顾一下自注意力机制(self-attention)的作用:自注意力机制的核心在于计算序列XXX 对自身的注意力权重,即序列中每个时间点与其他时间点之间的相关性(通过相似度来体现)。通过这种方式,我们能够得到一个注意力矩阵。得到注意力矩阵后,我们将其应用于序列XXX,从而计算出各个时间点的加权和。这意味着每个时间点的信息都会融合来自其他时间点的信息。Q、K、V的作用为了实现上述过程,我们需要引入查询(Q)、键(K)和值(V)三个矩阵。它们的作用如下:**查询(Q)和。

2024-07-08 14:44:46 614

原创 微调LLMs : 介绍,方法和最佳实践

微调是调整预训练大型语言模型的参数以适应特定任务或领域的过程。虽然像GPT这样的预训练语言模型拥有庞大的语言知识,但它们在特定领域缺乏专长。微调通过让模型从领域特定的数据中学习来解决这一局限性,使其对于目标应用更加准确和有效。在微调过程中,通过向模型展示任务特定的实例,模型可以对领域的细微差别获得更深入的理解。这架起了通用语言模型与专业模型之间的桥梁,在特定领域或应用中释放了LLMs的全部潜力。提高领域准确性:当您需要模型在特定行业或话题上具有高精度时,微调可以帮助模型学习该领域的特定术语和模式。

2024-07-08 11:09:58 1071

原创 大模型面试题目

检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种将检索模型和生成模型结合起来的混合方法,用于提高文本生成任务的性能。这种方法利用信息检索技术从大型数据库中检索相关文档,然后利用生成模型基于这些检索到的文档生成高质量的文本。这种方法在处理需要丰富背景知识或长尾信息的问题时特别有效。RAG 的基本流程检索阶段(Retrieval Stage)给定一个输入查询(query),使用信息检索模型从大型数据库(如文档库、知识库)中检索出若干相关文档。

2024-07-04 15:30:10 1017

原创 cuda编程简单入门

这是一份简单的CUDA编程入门,主要参考英伟达的官方文档进行学习,本人也是刚开始学习,如有表述错误,还请指出。官方文档链接如下:https://developer.nvidia.com/blog/even-easier-introduction-cuda/

2024-07-04 10:21:11 765

原创 Git 常用操作指南

在当前目录初始化一个新的 Git 仓库。

2024-07-03 18:32:36 231

原创 Transformer代码简单入门

多头自注意力机制# 前馈神经网络return srcreturn tgtreturn src。

2024-07-03 16:22:08 496

原创 用例子和代码了解词嵌入和位置编码

有了词嵌入和位置编码之后,接下来的步骤就是将这些嵌入输入到 Transformer 模型的编码器和解码器中,进行进一步处理。位置编码(Positional Encoding)通过生成一组特殊的向量,表示词在序列中的位置,并将这些向量添加到词嵌入上,使模型能够识别词序。位置编码步骤通过生成一组正弦和余弦函数的向量,并将这些向量添加到词嵌入上,使 Transformer 模型能够捕捉序列中的位置信息。这样我们就完成了输入嵌入的过程,把离散的词转换为了连续的向量表示。位置编码使用正弦和余弦函数生成。

2024-07-03 14:46:53 993

原创 人脸3D关键点的python版本和C++版本区别

推理部分C++版本麻烦很多,使用的onnxruntime1.9.0-gpu版本。对输入图像进行仿射变换,python和C++版本的差异比较大,做了外扩1.5倍。2.1python版本。

2024-07-03 12:56:26 582

原创 一文彻底搞懂Transformer - Input(输入)

位置编码的维度与嵌入向量的维度相同,可以将它们直接相加到嵌入向量上。:将添加了位置编码的嵌入向量作为输入传递给Transformer模型的编码器部分。:词嵌入是最基本的嵌入形式,它将词汇表中的每个单词映射到一个固定大小的向量上。假设词汇表大小为12288,嵌入向量的维度为128,则嵌入层会将输入文本中的每个单词映射到一个128维的向量上。在Transformer中,词嵌入层通常是一个可学习的参数矩阵,其中每一行对应词汇表中的一个单词的嵌入向量。:为每个嵌入向量添加位置编码,以提供单词在序列中的位置信息。

2024-07-03 12:02:40 990

原创 3403两个图像分析引擎差异

1.设置环境变量差异2.获取数据大小差异3.ATC差异

2024-07-01 12:05:58 161

原创 海思NNIE部署yolov5-shufflenet

Nnie中pooling层采用的是ceil mode(其实是因为caffe不支持floor mode),需要将MaxPool2d中的一些ceil_mode参数进行调整,开启为True。由于NNIE上transpose支持的顺序是固定的,shufflenet那种x=torch.transpose(x,1,2).contiguous() 的操作一般是不支持的。导出onnx会很慢,不知道原因。将.nn.SiLU()修改为nn.ReLU(),不一定会存在,需要查找下,如果有需要修改下。这一步转完,没有报错的话。

2024-07-01 11:48:13 913

原创 Transformer详解

批量标准化是对一个批次中的所有样本进行标准化处理,它是对一个批次中的所有样本的每一个特征进行归一化。而层标准化是对每个样本的所有特征进行标准化处理,独立于同一批次中的其他样本。层标准化的优点是不受批量大小的影响,可以在小批量甚至单个样本上工作。更适合序列数据。

2024-06-28 14:04:36 952

原创 Attention步骤

step1,计算Q对每个K的相关性相似性,即函数F ( Q , K ) F(Q,K)F(Q,K);step3,根据权重系数对V进行加权求和,即可求出针对Query的Attention数值。softmax的好处首先可以将原始计算分值整理成所有元素权重之和为1的概率分布;其次是可以通过softmax的内在机制更加突出重要元素的权重;一个典型的Attention思想包括三部分:Q。step2,对step1的注意力的分进行归一化;b.求两者的向量【余弦相似度】a.求两者的【向量点击】

2024-06-27 16:54:30 205

原创 BERT论文略读

摘要:前人优秀工作仅用了单向信息且不能很好的应用到各类下游任务,本文提出一种基于Transformer的双向处理预训练模型——BERT,在预训练完成后,采用统一的结构进行多个NLP下游任务微调,均达到SOTA。BERT模型关键词:预训练;双向信息;MLM(Masked Language Model)预训练任务;NSP(Next Sentence Predict)预训练任务。

2024-06-27 15:17:46 734

原创 文本分类-RNN-LSTM

本节介绍RNN和LSTM,并采用它们在电影评论数据集上实现文本分类,会涉及以下几个知识点。1. 词表构建:包括数据清洗,词频统计,词频截断,词表构建。2. 预训练词向量应用:下载并加载Glove的预训练embedding进行训练,主要是如何把词向量放到nn.embedding层中的权重。3. RNN及LSTM构建:涉及nn.RNN和nn.LSTM的使用。

2024-06-27 14:55:55 861

原创 图解自注意力机制(Self-Attention)

Attention机制与Self-Attention机制的区别传统的Attention机制发生在Target的元素和Source中的所有元素之间。简单讲就是说Attention机制中的权重的计算需要Target来参与。即在Encoder-Decoder 模型中,Attention权值的计算不仅需要Encoder中的隐状态而且还需要Decoder中的隐状态。不是输入语句和输出语句之间的Attention机制,而是输入语句内部元素之间或者输出语句内部元素之间发生的Attention机制。

2024-06-24 17:17:19 1094

原创 算法常见问题

是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。线性可分SVM当训练数据线性可分时,通过最大化硬间隔(hard margin)可以学习得到一个线性分类器,即硬间隔SVM。线性SVM当训练数据不能线性可分但是近似线性可分时,通过最大化软间隔(soft margin)也可以学习到一个线性分类器,即软间隔SVM。非线性SVM当训练数据线性不可分时,通过使用核技巧(kernel trick)和最大化软间隔,可以学习到一个非线性SVM。

2024-06-24 11:35:25 993

原创 算法常见手写代码

比如有两类,类A的AP值是0.5,类B的AP值是0.2,那么mAP=(0.5+0.2)/2=0.35。state_dict:PyTorch中的state_dict是一个python字典对象,将每个层映射到其参数Tensor。state_dict对象存储模型的可学习参数,即权重和偏差,并且可以非常容易地序列化和保存。:param box1: list, 第一个框的两个坐标点位置 box1[x1, y1, x2, y2]# 保存整个模型,包含模型结构和参数。# 加载整个模型,包含模型结构和参数。

2024-06-24 11:08:23 1214

原创 海思NNIE精度对比详细操作指南

海思NNIE部署推理经常会遇到精度下降问题,但是又摸不着头脑究竟是什么原因,因此需要做精度分析来排查是不是算子问题或者是具体哪个算子问题。

2024-06-21 14:45:50 536

原创 opencv中的Mat转成yuv数据

1.python版本。

2024-06-21 12:43:56 218

原创 NLP基础概念

NLP任务不同于CV任务,它存在更多难点,例如::NLP任务处理的是文本数据,需要将自然语言文本转化为计算机可处理的形式,即如何把字符串变为数值数据,常用的有词嵌入(Word Embedding),而CV任务处理的图像,天然是数值形数据。:文本具有丰富的上下文依赖性,单个词或短语的含义可以依赖于其周围的上下文,这使得NLP任务在理解和处理上更具挑战性。:文本序列可能非常长,并且存在长期依赖性,需要模型能够捕捉长距离的上下文信息。:语言中存在多义词和歧义性,需要根据上下文来进行准确理解和推断。

2024-06-20 17:12:30 725

原创 Transformer学习理解

本文介绍当下人工智能领域的基石与核心结构模型——Transformer,为什么说它是基石,因为以ChatGPT为代表的聊 天机器人以及各种有望通向AGI(通用人工智能)的道路上均在采用的Transformer。Transformer也是当下NLP任务的底座,包括后续的BERT和GPT,都是Transformer架构,BERT主要由Transformer的 encoder构成,GPT则主要是decoder构成。

2024-06-20 12:11:32 1323

原创 ByteTrack跟踪理解

当第一帧时,航迹本身为空时,只有置信度超过 high_thresh 时,才新起始航迹, 此时state = Tracked,is_activated = true。后续只有未匹配的且置信度很高(超过high_thresh )时才新起始航迹,此时state = Tracked,is_activated = false。

2024-06-19 11:20:21 958

原创 3519AV200和SS928差异

1.3519AV200(ss927)2.SS928

2024-06-17 14:16:06 133

原创 PadleOcr SVTR训练环境搭建

/train/1297499_0_0_0_1_0_陕BR1393.jpg 陕BR1393。./train/1299492_0_0_0_0_0_豫R328DQ.jpg 豫R328DQ。然后再conda activate PaddleOcr 虚拟环境搭建完成。需要卸载Paddle 的CPU版本,创建GPU版本。

2024-06-17 14:11:11 568

原创 yolo系列概述

好在有大神接了他的大旗,在yolov3推出快2年的时间,yolov3的改进版v4终于在2020年来了,yolov4开始,可以 认为是一个分割点,更准确地说yolov3是后续模型的分割点。2022年由美团提出的速度更快的检测模型,主打是速度,因此模型特点是backbone与neck的设计都为了适应硬 件的运算,使用了Rep-Pan和EfficientRep块,head部分用了解耦的形式,在训练策略方面采用了anchor-free、 SimOTA标记策略、SIoU盒回归的损失。

2024-06-13 16:08:12 633

原创 C++调试打印日志方法

只需要包含:#include <cstdio>头文件即可。LOG0 = 0, // 0-不输出日志。(1)头文件:Log.h。

2024-06-13 11:05:10 893

《模式识别与智能计算的MATLAB实现》

《模式识别与智能计算的MATLAB实现》理论联系实际,较为全面地介绍了现代模式识别和智能计算方法及其应用技巧。通过大量实例,讲解了模式识别和智能计算的理论、算法及编程步骤,并提供基于MATLAB的源代码。

2015-01-10

C程序设计语言(he_C_Programming_Language)

C程序设计语言(he_C_Programming_Language),一本很不错的学习C语言的书籍

2014-12-21

图像拼接算法

图像拼接方法和代码,可用于学习和参考,现在的拼接算法大致都差不多!

2014-12-20

21天学通C#

21天学通C#书籍,可用于参考和学习,很不错的c#入门书籍

2014-12-20

字符识别源码

用于做字符识别的源码,可以作为学习和参考的资料!还很不错

2014-12-20

基于OpenCV的计算机视觉技术实现

基于OpenCV的计算机视觉技术实现,是一本很不错的书籍,可以学习

2014-12-12

指针和引用的区别

这个课件详细的介绍了指针和引用的区别,对于C/C++的初学者来说,有很大的帮助,值得学习!

2014-12-07

空空如也

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

TA关注的人

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