自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些用过的网站

镜像:在wget或者git clone的时候,将https://github.com/......改成https://gitclone.com/github.com/......就好。作为一个公益项目,我们致力于提供稳定、快速的镜像服务,帮助国内用户无障碍访问Hugging Face的资源。5、下载anaconda(miniconda)8、不知道还有哪些,遇到就加上去吧。下载CUDA(cuDNN)的教程。下载CUDA Toolkit。2、github网址。4、下载pytorch。6、spring项目。

2025-03-03 23:09:13 542

原创 Kaldi环境配置与Aishell训练

一、项目来源踩着我的同门填上的坑踏进新的坑里,Kaldi不是终端用户软件,也没有安装包,安装Kaldi包括编译其代码和准备必要的工具与运行环境。二、环境配置1、安装系统开发库的依赖编译Kaldi之前,需要检查和安装Kaldi依赖的系统开发库,可以通过在Kaldi的tools目录下执行extras/check_dependencies.sh脚本来检查。经过检查,我需要安装python2.7、python3和subversion安装subversion,且我没有sudo权限。

2025-03-03 22:34:55 892

原创 k2——icefall配置实践

因为使用亲爱的导儿的服务器需要通过sbatch进行提交,所以我写了一个run.sh脚本进行运行,便于运行和管理,run.sh脚本中的内容如下,自己租的服务器倒不用这样弄。4、在 Windows 上启动 TensorBoard,我的文件在D:\Temp\Download里。2、训练,像上面七、一样写一个run.sh,执行run.sh。一、k2代码安装步骤,详细步骤看这个链接的示例更好。三、安装torch和torchaudio。二、安装CUDA和cuDNN。八、Aishell训练。五、安装lhotse。

2025-02-12 15:40:33 392

原创 代码实践——准备阶段

使用Windows11进行部署项目,使用anaconda、git bash和pycharm部署,全面配置环境磕磕绊绊,虽然最后都通过gpt老师解决了,在运行wenet代码到第四步的时候,deepspeed库怎么都安装不上,查阅很多资料发现:Windows兼容性不好,跳到老师的Ubuntulinux系统进行部署,太快了一下子就好了,“不应该啊”->“已老实”,写点笔记可以在忘记的时候查阅一下,还可以教一下乖乖的女朋友,唉,怎么这么乖啊。wget命令 wget+url,就能在该文件路径下,get到这个文件。

2025-02-12 14:04:24 1110

原创 language model

(4)有一个问题就是,给的样本虽然说很大,但是不可能涵盖所有的语言,所以有些P即使在样本中没有找到P也不应该写为0,给一个小概率。b、将LM训练到softmax之前的,dimension跟tokensize相同的输出放到Network中,这样就可以更换LM了。对于不同的输入情况,可能需要不同的LM,所以下面改进。a、输入为所有的token的h作为的输入向量(如果要训练dog,就只将dog的部分设为1,其他为0)a、LM已经训练好了,LAS还没训练好,再将Network训练好,这样可以加快LAS的训练速度。

2024-08-15 15:04:08 407

原创 加和分数、训练、测试

(1)αi,j:将读了i个声学特征和输出j个token的所有alignment分数加和起来,表中每一个各自都对应着一个α。6、也就是使用训练好的RNN(例如),run,找出几率最大的distribution作为h^*,当然也可以使用束搜索。(3)引入βi,j:有点像αi,j的相反,将所有产生i个声学特征和j个token的alignment的分数加和起来。3、为了简化计算进行改进:对于不同的Y,找出对应的每一个alignment最大分数的h。2、l_i只与token有关,有一个专门训练的网络;

2024-08-15 00:46:39 287

原创 Alignment

c、训练时需要找到得到概率结果最大的network的参数,就需要计算梯度下降,怎么样做梯度下降。二、穷举所有有可能的alignment操作(举例:tokenN = 3为c、a、t,声学特征T = 6)插在前面的位置的null都没关系,但输出的alignment最后一个一定要是null。4、CTC、RNN-T要计算P(X|Y)依赖于要知道alignment(下图以CTC为例)3、training,就是要找到得到概率结果最大的network的参数。d、特殊情况(两个相同的token连在一起的情况)

2024-08-14 22:56:50 208

原创 Hidden Marlov Model(HMM)

1、Tandem:语音辨识HMM系统不变,唯一变化的是使用DNN(state classifer)给我们比较好的state(从声学特征到state),其他不变。c、如果想要更精确,可以使用训练出来的更精确的classifier作为寻找state与声学特征对应关系的Model,训练处DNN2。1、将声学特征设为X,经过语音识别得到的tokens设为Y,目标是找到通过X得到Y的最大概率,可以通过概率公式改变为。1、Transition Probability:从一个state转化为别的state的可能性。

2024-08-14 10:03:31 354

原创 other model

3、在online中:encode将h_i输出,h_i丢到一个线性的Classifier中可以得到当前的token的distribution。4、还可以得到over整个token的distribution,将h进行transform,再做softmax得到。1、给一个h_i输出多个token,直到model觉得自己输出完了,输出一个null;(2)输出的token中含有null,将重复的token合并,移除null。6、训练的时候要自己自造情况进行输出,然后训练,这里穷举了。2、现在窗口可以是不固定的了。

2024-08-13 11:27:13 332

原创 LAS_Listen,Attend,Spell

2、常用用法:c0作为decoder(RNN)的输入,通过隐藏层会得到z1,经过transform得到distribution,用distribution选取可能的输出词语(max概率最高的)。4、Decoder(通常是使用 RNN单元)会通过前一个时间步的隐藏状态、生成的标记(token)和"Attend"环节的输出(即上下文向量)来计算新的隐藏状态。2、decoder可以使用RNN、CNN、自注意力机制等方法,文献中常把CNN与RNN综合使用,有使用自注意力机制方法的趋势。

2024-08-12 10:49:02 455

原创 Speech Recognition

4、morpheme:最小的有意义的单元(比如词根),比使用word少,多于使用grapheme:需要语言学家或统计学家得出。(1)英文单词,N为长度,V为字符集数量,这里的+是加上了标点符号和空格。1、phoneme:发音的具体单位,可以类似为音标,早期最常用。三、语音+不同算法的应用:语音识别、翻译、目的性分类、空位填充。一、语音处理比文字处理样本数多很多(T>>N)2、样本点个数十分大量,维度也有不同的选择方式。3、word(几乎没有办法计算V的大小)2、grapheme:书写的基本单位。

2024-08-12 09:40:33 297

原创 Introduction

(1)自回归:模型在生成文本时,每一步生成的词或标记(token)都依赖于之前生成的词或标记;(2)非自回归:在生成文本时,各个词或标记的生成是并行进行的,生成的每个词不依赖于之前生成的词;6、我主要不知道的是语音到class的过程。7、对于输入时文字的使用的算法,主要有BERT和他的朋友们,训练集是越来越大的。4、文字到语音是语音合成_TTS过程(只是简单举一个算法过程的例子)1、人类语音非常复杂,同样的人说同一句话话音频也很可能是不一样的。9、文字转化为文字的操作:比如翻译、概括摘要、对话、回答问题。

2024-08-11 23:38:01 238

原创 一部分优化算法

(4)只有一定程度的噪声可能会使参数跳出局部最小值(是小批量随机梯度下降的有利特性之一,小批量上梯度的自然变化能够将参数从局部极小值中跳出)。(4)深度学习中的凸和非凸:学习的模型基本上都是非凸的,因为凸的(比如线性)很简单,那么信息就不多,非凸更接近实际生活中的例子。(6)在小批量随机梯度下降中,我们处理通过训练数据的随机排列获得的批量数据(即每个观测值只处理一次,但按随机顺序)。(2)但是需要考虑合适的小批量,批量很小的时候,收敛快但计算慢,批量大的时候,计算代价很大。

2024-08-07 19:05:56 616

原创 BERT微调

2、对于序列级和词元级自然语言处理应用,BERT只需要最小的架构改变(增加需要训练的输出层),如单个文本分类(例如,情感分析和测试语言可接受性)、文本对分类或回归(例如,自然语言推断和语义文本相似性)、文本标记(例如,词性标记)和问答。#对前提和假设进行截断,使其总长度不超过 max_len - 3,为 BERT 的特殊词元 <CLS> 和 <SEP> 保留位置。我们只拿回答的那部分句子进行提取特征。3、在下游应用的监督学习期间,额外层的参数是从零开始学习的,而预训练BERT模型中的所有参数都是微调的。

2024-08-07 17:55:33 1783

原创 BERT预训练

1、在NLP中的迁移学习中,使用预训练好的模型抽取词、句子的特征,不更新预训练好的模型,而是在需要构建新的网络来抓取新任务需要的信息,也就是最后面加上一个MLP做分类;在这个预训练任务中,将随机选择15%的词元作为预测的掩蔽词元,用一个特殊的“<mask>”替换输入序列中的词元。2、由于基于微调的NLP模型,也想要一个类似的东西,使预训练的模型抽取了足够多的信息,新任务只需要一个简单的输出层。# 为遮蔽语言模型的输入创建新的词元副本,其中输入可能包含替换的“<mask>”或随机词元。

2024-08-07 16:56:18 1372

原创 Transformer

2、Transformer是由编码器和解码器组成,与基于Bahdanau注意力实现的序列到序列的学习相比,Transformer的编码器和解码器是基于自注意力的模块叠加而成的,源(输入)序列和目标(输出)序列的。6、多头注意力融合了来自于多个注意力汇聚的不同知识,这些知识的不同来源于相同的查询、键和值的不同的子空间表示;在计算编码器的自注意力时,查询、键和值都来自前一个编码器层的输出;1、基于位置的前馈网络对序列中的所有位置的表示进行变换时使用的是同一个多层感知机(MLP),这就是称前馈网络是。

2024-08-05 15:02:40 1128

原创 自注意力和位置编码

之后输出的n×n矩阵乘以n×d矩阵。令ωj=1/100002^(j/d), 对于任何确定的位置偏移δ中,任何一对 (p^(i,2j),p^(i,2j+1))都可以线性投影到 (p^(i+δ,2j),p^(i+δ,2j+1))这是因为对于任何确定的位置偏移δ,位置i+δ处 的位置编码可以线性投影位置i处的位置编码来表示。1、CNN:序列长度是n,输入和输出的通道数量都是d, 所以卷积层的计算复杂度为O(knd^2);3、为了使用序列的顺序信息,可以通过在输入表示中添加位置编码,来注入绝对的或相对的位置信息。

2024-08-04 23:35:41 804

原创 使用注意力机制的seq2seq

a、要预测下一个词的时候,将当前预测出的词作为query,编码器各个状态作为(key,value),进行attention,来找到对预测下一个词有用的原文。时间步𝑡′−1时的解码器隐状态𝑠_𝑡′−1是查询, 编码器隐状态ℎ_𝑡既是键,也是值, 注意力权重𝛼是使用加性注意力打分函数计算的。2、在循环神经网络编码器-解码器中,Bahdanau注意力将上一时间步的解码器隐状态视为查询,在所有时间步的编码器隐状态同时视为键和值。# 输出X的形状为(num_steps,batch_size,embed_size)

2024-07-30 17:25:09 912

原创 注意力分数

当它们的长度相同时,使用缩放的“点-积”注意力评分函数的计算效率更高。# key的形状:(batch_size,1,“键-值”对的个数,num_hiddens)1、将注意力汇聚的输出计算可以作为值的加权平均,选择不同的注意力评分函数会带来不同的注意力汇聚操作。# scores的形状:(batch_size,查询的个数,“键-值”对的个数)# values的形状:(batch_size,“键-值”对的个数,值的维度)# values的形状:(batch_size,“键-值”对的个数,值的维度)

2024-07-30 16:55:02 834

原创 注意力机制

4、热图中的颜色表示注意力权重的大小。绘制所有的训练样本(样本由圆圈表示), 不带噪声项的真实数据生成函数𝑓(标记为“Truth”), 以及学习得到的预测函数(标记为“Pred”)。(3)可以通过设计注意力汇聚的方式, 便于给定的查询(自主性提示)与键(非自主性提示)进行匹配, 这将引导得出最匹配的值(感官输入)2、横轴代表的是注意力机制中的键(key),这些键通常是输入序列中的各个元素的表示;# keys的形状:(n_test,n_train),每一行包含着相同的训练输入(例如,相同的键)

2024-07-30 16:29:11 848

原创 束搜索(与贪心、穷举对比)

P(C,E,y3∣c)=P(C,E∣c)*P(y3∣C,E,c),从这十个值中选择最大的两个, 即P(A,B,D∣c)和P(C,E,D∣c)。(3)在时间步2,我们计算所有y2∈Y为:P(A,y2∣c) = P(A∣c)*P(y2∣A,c);(4)在时间步3,我们计算所有y3∈Y为:P(A,B,y3∣c)=P(A,B∣c)*P(y3∣A,B,c);P(y2∣C,c)从这十个值中选择最大的两个, 比如P(A,B∣c)和P(C,E∣c)。(2)在时间步1,假设具有最高条件概率 P(y1∣c)的词元是A和C。

2024-07-28 12:39:02 333

原创 序列到序列学习(Seq2seq)

(3)在选候选句子的时候,长句子往往预测的概率会更小一点,为了平衡选择的概率,有机会能尝到有机会能选到长一点的句子,通常是取一个log再取l的阿尔法次饭分之1去调整长句子的概率。这个向量空间是通过训练数据学习到的,向量的维度通常远小于词汇表的大小,生成的向量是密集的,维度通常远小于。(3)编码器通过选定的函数q, 将所有时间步的隐状态转换为上下文变量(但我们的例子里面,上下文变量仅仅是输入序列在最后时间步的隐状态hT。# 输出'X'的形状:(batch_size,num_steps,embed_size)

2024-07-28 11:52:14 1921

原创 编解码器架构

0、机器翻译是序列转换模型的一个核心问题, 其输入和输出都是长度可变的序列。1、“编码器-解码器”架构可以将长度可变的序列作为输入和输出,因此适用于机器翻译等序列转换问题。(encoder): 它接受一个长度可变的序列作为输入, 并将其转换为具有固定形状的编码状态。2、编码器将长度可变的序列作为输入,并将其转换为具有固定形状的编码状态。"""编码器-解码器架构的基本编码器接口""""""编码器-解码器架构的基本解码器接口""""""编码器-解码器架构的基类"""(encoder-decoder)架构。

2024-07-27 23:49:57 809

原创 机器翻译数据集

指定了额外的特定词元, 例如在小批量时用于将序列填充到相同长度的填充词元(“<pad>”), 以及序列的开始词元(“<bos>”)和结束词元(“<eos>”)数据集中的每一行都是制表符分隔的文本序列对, 序列对由英文文本序列和翻译后的法语文本序列组成。3、通过截断和填充文本序列,可以保证所有的文本序列都具有相同的长度,以便以小批量的方式加载。1、截断或填充文本序列(文本序列具有相同的长度,便于以相同形状的小批量进行加载)#“<eos>”词元添加到所有序列的末尾, 用于表示序列的结束。

2024-07-27 23:26:20 1099

原创 (深层与双向)循环神经网络

(2)将前向隐状态𝐻→𝑡 和反向隐状态𝐻←𝑡连接起来, 获得需要送入输出层的隐状态𝐻𝑡。这是具有𝐿个隐藏层的深度循环神经网络, 每个隐状态都连续地传递到当前层的下一个时间步和下一层的当前时间步。(3)深度循环神经网络需要大量的调参(如学习率和修剪) 来确保合适的收敛,模型的初始化也需要谨慎。(1)在深度循环神经网络中,隐状态的信息被传递到当前层的下一时间步和下一层的当前时间步。(1)在双向循环神经网络中,每个时间步的隐状态由当前时间步的前后数据同时决定。(1)前向和反向隐状态的更新。1、对于循环神经网络。

2024-07-27 22:43:18 712

原创 长短期记忆网络(LSTM)

(2)如果遗忘门始终为1且输入门始终为0, 则过去的记忆元𝐶𝑡−1 将随时间被保存并传递到当前时间步。输出门接近1,我们就能够有效地将所有记忆信息传递给预测部分, 而对于输出门接近0,我们只保留记忆元内的所有信息,而不需要更新隐状态。由三个具有sigmoid激活函数的全连接层处理, 以计算输入门、遗忘门和输出门的值。(1)输入门𝐼𝑡控制用多少来自𝐶𝑡的新数据, 而遗忘门𝐹𝑡控制保留多少过去的记忆元𝐶𝑡−1的内容。1、长短期记忆网络有三种类型的门:输入门、遗忘门和输出门。(2)遗忘门:重置单元的内容。

2024-07-27 19:53:15 1136

原创 门控循环单元(GRU)

Rnn处理不了过长的序列,因为序列信息会被放在隐藏状态里面,当时间很长的时候,隐藏状态就会累积的太多,前面很久以前的信息就不能很好地抽取出来。(2)Rt在更新新的隐藏状态的时候,要用多少过去的隐藏状态的信息,在算真正的隐藏状态的时候,需要多少关于xt的信息占比。(1)输入是由当前时间步的输入和前一时间步的隐状态给出,两个门的输出是由使用sigmoid激活函数的两个全连接层给出。更新门对应的就是重要的信息,需要更新我们的状态,重置门就是不重要的信息,就让我们的隐藏状态遗忘一些东西。

2024-07-27 17:14:18 692

原创 循环神经网络

(2)当前的输出是为了预测当前的观察,没有对x建模,因为x的信息都存在h里面。(3)W_hh将对应的隐藏信息转化为真实信息, W_hh是将时序信息存放。1、对隐状态使用循环计算的神经网络称为循环神经网络(RNN)。2、循环神经网络的隐状态可以捕获直到当前时间步序列的历史信息。3、循环神经网络模型的参数数量不会随着时间步的增加而增加。5、应用:文本生成、文本分类、问答、机器翻译、Tag生成。1、潜变量自回归模型,使用潜变量ht总结过去信息。4、我们可以使用循环神经网络创建字符级语言模型。

2024-07-25 19:45:29 905

原创 语言模型及数据集

在迭代过程中,后者可以保证来自两个相邻的小批量中的子序列在原始序列上也是相邻的。#基于到目前为止我们看到的词元来预测下一个词元, 标签是移位了一个词元的原始序列。5、用空间换时间:统计单词在数据集中的出现次数, 然后将其除以整个语料库中的单词总数。的目标是估计序列的联合概率,一个理想的语言模型就能够基于模型本身生成自然文本。"""使用随机抽样生成一个小批量子序列""""""使用顺序分区生成一个小批量子序列""""""返回时光机器数据集的迭代器和词表""""""加载序列数据的迭代器"""

2024-07-25 11:44:50 1070 1

原创 文本预处理

self.idx_to_token是一个列表,列表的第一个元素是 '<unk>',表示未知词汇(索引为0)。reserved_tokens 是一个预定义的词汇表(tokens)的列表,+ 运算符将 '<unk>' 和 reserved_tokens 合并成一个的列表并赋值给 self.idx_to_token。"""返回时光机器数据集的词元索引列表和词表""""""将时间机器数据集加载到文本行的列表中""""""将文本行拆分为单词或字符词元""""""统计词元的频率""""""文本词表"""

2024-07-25 09:30:43 822

原创 序列模型及预测

因此,对于所拥有的序列数据,在训练时始终要尊重其时间顺序,即最好不要基于未来的数据进行训练。时序序列与前面学过的一些序列的主要区别在于样本一个是独立的随机变量,一个是不独立的随机变量,可能根据时间的不同而具有一定的联系。4、对于直到时间步𝑡的观测序列,其在时间步𝑡+𝑘的预测输出是“𝑘步预测”。# 列i(i>=tau)是来自(i-tau+1)步的预测,其时间步从(i)到(i+T-tau-max_steps+1)# 列i(i<tau)是来自x的观测,其时间步从(i)到(i+T-tau-max_steps+1)

2024-07-23 22:04:13 1099

原创 样式迁移及代码

6、样式损失是指匹配通道内的统计信息和通道之间的统计信息(可以理解为匹配一阶二阶三阶的统计信息,一阶可以是均值,二阶可以是协方差),把feature map里通道作为一维,然后将通道里面的像素拉成一个向量,然后做协方差矩阵,去计算一个多维度的随机变量的二阶信息去匹配分布。2、训练一些样本使得样本在一些cnn的特征上跟样式图片很相近,在一些cnn的特征上跟内容图片很像,关键在于该怎么样定义内容是一样的,样式是一样的。#对输入图像应用之前定义的变换序列,得到一个张量,并在0维度上添加一个新的维度(通道)

2024-07-23 21:29:16 858

原创 全卷积网络(FCN)

步幅为𝑠,填充为𝑠/2(假设𝑠/2是整数)且卷积核的高和宽为2𝑠,转置卷积核会将输入的高和宽分别放大𝑠倍。使用双线性插值生成权重的主要原因是为了在上采样(upsampling)操作中保持图像的平滑过渡,避免像素块效应,并且能够更好地保留图像的细节。1、全卷积网络先使用卷积神经网络抽取图像特征,然后通过1×1卷积层将通道数变换为类别个数,最后通过转置卷积层将特征图的高和宽变换为输入图像的尺寸。#构造一个将输入的高和宽放大2倍的转置卷积层,并将其卷积核用bilinear_kernel函数初始化。

2024-07-22 19:54:05 788

原创 转置卷积方法

1、卷积神经网络层通常会减少(或保持不变)采样输入图像的空间维度(高和宽),另一种类型的卷积神经网络层,它可以增加上采样中间层特征图的空间维度, 用于逆转下采样导致的空间尺寸减小。(1)卷积做下采样(减少特征图的空间分辨率的过程),转置卷积做上采样(增加特征图的空间分辨率)。#卷积输出尺寸是(x-h)/s+1,(x-w)/s+1。2、转置卷积(感觉就是卷积的反过来)也是一种卷积。实现基本的转置卷积运算。2、填充、步幅和多通道。

2024-07-22 13:59:45 233

原创 语义分割和数据集

1、与目标检测不同,语义分割可以识别并理解图像中每一个像素的内容:其语义区域的标注和预测是像素级的。1、语义分割通过将图像划分为属于不同语义类别的区域,来识别并理解图像中像素级别的内容。1、读取所有VOC图像并标注:因为这个数据集的自己的格式是voc。"""将VOC标签中的RGB值映射到它们的类别索引""""""一个用于加载VOC数据集的自定义数据集""""""构建从RGB到VOC类别索引的映射""""""读取所有VOC图像并标注""""""加载VOC语义分割数据集""""""随机裁剪特征和标签图像"""

2024-07-19 17:02:44 1266

原创 SSD实现

可以设计基础网络,使它输出的高和宽较大,使基于该特征图生成的锚框数量较多,可以用来检测尺寸较小的目标。接下来的每个多尺度特征块将上一层提供的特征图的高和宽缩小(如减半),并使特征图中每个单元在输入图像上的感受野变得更广阔。在不同的尺度下,特征图的形状或以同一单元为中心的锚框的数量可能会有所不同。# 生成多尺度的锚框,为每个锚框预测类别和偏移量。# 根据类别和偏移量的预测和标注值计算损失函数。# 训练精确度的和,训练精确度的和中的示例数。# 绝对误差的和,绝对误差的和中的示例数。1、定义损失函数和评价函数。

2024-07-18 22:17:48 665

原创 物体检测算法

基于基础网络块和各个多尺度特征块,单发多框检测生成不同数量和不同大小的锚框,并通过预测这些锚框的类别和偏移量检测不同大小的目标。Faster R-CNN将Fast R-CNN中使用的选择性搜索替换为参与训练的区域提议网络,这样后者可以在减少提议区域数量的情况下仍保证目标检测的精度。R-CNN对图像选取若干提议区域,使用卷积神经网络对每个提议区域执行前向传播以抽取其特征,然后再用这些特征来预测提议区域的类别和边界框。(2)在训练单发多框检测模型时,损失函数是根据锚框的类别和偏移量的预测及标注值计算得出的。

2024-07-16 20:53:20 521

原创 锚框及代码

---------------------------------------------------------------------------------------------------看不下去了,下次看。#一个形状为 (N, M, 2) 的张量,其中 N 是 boxes1 的数量,M 是 boxes2 的数量,2= 表示每个交集框的宽度和高度。#(c_assigned_bb[:, :2] - c_anc[:, :2]) 表示真实边界框和锚框的中心坐标 (中心x, 中心y)

2024-07-14 16:12:48 620 1

原创 物体检测和数据集

选择了一个批次中的前10张图像,执行了维度置换操作,将图像的维度从PyTorch的默认格式 (batch_size, channels, height, width) 调整为 (batch_size, height, width, channels)# 这里的target包含(类别,左上角x,左上角y,右下角x,右下角y),(2)边界框中心的(𝑥,𝑦)轴坐标以及框的宽度和高度。"""从(左上,右下)转换到(中间,宽度,高度)""""""从(中间,宽度,高度)转换到(左上,右下)"""

2024-07-14 11:19:30 677

原创 微调及代码

2、除输出层外,目标模型从源模型中复制所有模型设计及其参数,并根据目标数据集对这些参数进行微调。4、在目标数据集(如椅子数据集)上训练目标模型。输出层将从头开始进行训练,而所有其他层的参数将根据源模型的参数进行微调。1、微调是在目标数据集上的正常训练任务,但使用更强的正则化(有更强的lr和更少的epoch)3、向目标模型添加输出层,其输出数是目标数据集中的类别数。3、通常,微调参数使用较小的学习率,而从头开始训练输出层可以使用更大的学习率。这将复制源模型上的所有模型设计及其参数(输出层除外)。

2024-07-11 17:23:10 732

空空如也

空空如也

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

TA关注的人

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