自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 第TR5周:Transformer实战-单词预测

定义编码器层# 定义编码器,pytorch将Transformer编码器进行了打包,这里直接调用即可# 初始化权重"""Arguments:src : Tensor, 形状为 [seq_len, batch_size]src_mask: Tensor, 形状为 [seq_len, seq_len]Returns:输出的 Tensor, 形状为 [seq_len, batch_size, ntoken]"""

2024-07-19 09:56:06 743

原创 第TR4周:Transformer中的位置编码详解

词的位置和顺序是任何语言的重要组成部分。它们决定着语法,因此也决定了句子的实际语义。卷积神经网络(CNN)使用卷积核来捕获单词之间的相对位置信息,但其仅能捕获固定大小的局部上下文信息。循环神经网络(RNN)在处理序列信息上会有更好的效果,其依靠循环结构,将序列信息逐步传递,这其中就引入了单词的位置和顺序信息。但随着序列长度的增加,RNN 会慢慢忘记早前的信息,这就导致了长期依赖问题。除此之外,循环结构也使得 RNN 无法并行计算,这使得 RNN 的训练速度十分缓慢。

2024-07-12 09:56:08 1003

原创 第TR1---TR3周: Pytorch复现Transformer

主要序列转导模型基于复杂的循环或卷积神经网络,包括编码器和解码器。mechanism.性能最好的模型还通过注意力机制连接编码器和解码器。我们提出了一种新的简单网络架构——Transformer,它完全基于注意力机制,完全不需要递归和卷积。对两个机器翻译任务的实验表明,这些模型具有卓越的质量,同时具有更高的并行性,并且需要的训练时间显着减少。我们的模型在 WMT 2014 英德翻译任务中获得了 28.4 BLEU,比现有的最佳结果(包括集成)提高了 2 BLEU 以上。

2024-07-05 10:57:36 1015

原创 第N8周:seq2seq翻译实战-Pytorch复现

定义了一个名为Lang的类,用于处理语料库。当use_teacher_forcing为True时,采用"Teacher Forcing"的策略,即将目标序列中的真实标签作为解码器的下一个输入。在序列生成的任务中,如机器翻译或文本生成,解码器(decoder)的输入通常是由解码器自己生成的预测结果,即前一个时间步的输出。函数将输入的字符串转换为 ASCII 字符串,然后使用正则表达式替换掉所有的句号、感叹号和问号,以及所有非字母、非空格、非句号、非感叹号、非问号的字符,最后返回处理后的字符串。

2024-06-26 15:59:49 840

原创 第N7周:seq2seq详解

seq2seq干了什么事情?seq2seq模型的输入可以是一个(单词、字母或者图像特征)序列,输出是另外一个(单词、字母或者图像特征)序列。一个训练好的seq2seq模型如下图所示:如下图所示,以NLP中的机器翻译任务为例,序列指的是一连串的单词,输出也是一连串单词。

2024-06-13 18:42:18 871

原创 第N6周:使用Word2vec实现文本分类

model.train() # 切换为训练模式optimizer.zero_grad() # grad属性归零loss = criterion(predicted_label, label) # 计算网络输出和真实值之间的差距,label为真实值loss.backward() # 反向传播torch.nn.utils.clip_grad_norm_(model.parameters(), 0.1) # 梯度裁剪optimizer.step() # 每一步自动更新# 记录acc与loss。

2024-06-06 16:40:29 962

原创 第N5周:调用Gensim库训练Word2Vec模型

余弦相似度是一种常用的向量相似度度量方法,它可以用于衡量两个向量之间的相似程度,值范围为[-1,1]。因此,通过计算两个词向量之间的余弦相似度,我们可以判断它们之间的关系是否密切。通常情况下,结巴分词能够对大多数文本进行比较准确的分词,但是对于一些特定的场景或者领域,可能会出现一些无法正确分词的情况。model.wv.most_similar(positive=['沙瑞金'], topn=5) 这行代码调用了模型的 most_similar 方法,用于查找与列表positive中的词语最相似的词。

2024-05-30 20:33:54 619

原创 第N4周:中文文本分类——Pytorch实现

train 和 evaluate分别用于训练和评估文本分类模型。·训练函数 train 的工作流程如下:将模型设置为训练模式。初始化总准确率、训练损失和总计数变量。记录训练开始的时间。遍历数据加载器,对每个批次:进行预测、清零优化器的梯度、计算损失(使用一个损失函数,例如交叉熵)、反向传播计算梯度、通过梯度裁剪防止梯度爆炸、执行一步优化器更新模型权重、更新总准确率和总损失、每隔一定间隔,打印训练进度和统计信息。

2024-05-24 12:58:09 673

原创 第N3周:Pytorch文本分类入门

定义TextClassificationModel模型,首先对文本进行嵌入,然后对句子嵌入之后的结果进行均值聚合。self.embedding = nn.EmbeddingBag(vocab_size, # 词典大小embed_dim, # 嵌入的维度self.embedding.weight.data.uniform_(-initrange, initrange)这段代码是在 PyTorch 框架下用于初始化神经网络的词嵌入层(embedding layer)权重的一种方法。

2024-05-17 20:23:26 858

原创 第N2周:Embeddingbag与Embedding详解

词嵌入是一种用于(NLP) 的技术,用于将单词表示为数字,以便计算机可以处理它们。通俗的讲就是,一种把文本转为数值输入到计算机中的方法。Embedding和EmbeddingBag则是PyTorch中的用来处理文本数据中词嵌入(word embedding)的工具,它们将离散的词汇映射到低维的连续向量空间中,使得词汇之间的语义关系能够在向量空间中得到体现。

2024-05-07 16:17:54 819

原创 第N1周:one-hot编码案例

one-hot编码的基本思想是将每个类别映射到一个向量,其中只有一个元素的值为1,其余元素的值为0。这种编码方式不仅能够避免不必要的关系假设,还能够提供清晰的输入表示,有助于模型的学习和泛化。在文本表征表示上有些缺点非常突出,首先one-hot 编码是一个词袋模型,是不考虑词和词之间的顺序问题,它是假设词和词之间是相互独立的,但是在大部分情况下词和词之间是相互影响的。one-hot编码得到的特征是离散稀疏的,每个单词的one-hot编码维度是整个词汇表的大小,维度非常巨大,编码稀疏,会使得计算代价变大。

2024-04-24 18:52:19 547

原创 第G9周:ACGAN理论与实战

如何评价一个生成模型生成图片的分辨率,最简单的方法无非就是直观用眼睛来看,但这样显然无法量化一个图片的好坏,于是作者提出使用一个分类器,若生成的图片具有较高的分类正确率,就有理由认为生成的图片质量比较高,也即该图片具有较高的可分辨性,如上所述,生成高分辨率的图片,需要不是简单的将低分辨率的图片进行线性插值来生成,因而要量化的分析生成的图片的质量,可以从其分辨力。原始任务是生成伪造图像。我们在之前关于图像质量评估的工作基础上,提供了两种新的分析方法,用于评估来自类条件图像合成模型的样本的可辨识性和多样性。

2024-04-19 17:09:37 817 1

原创 第G8周:ACGAN任务

'''定义生成器 Generator'''# 定义条件标签的生成器部分,用于将标签映射到嵌入空间中# n_classes:条件标签的总数# embedding_dim:嵌入空间的维度nn.Embedding(n_classes, embedding_dim), # 使用Embedding层将条件标签映射为稠密向量nn.Linear(embedding_dim, 16) # 使用线性层将稠密向量转换为更高维度# 定义潜在向量的生成器部分,用于将噪声向量映射到图像空间中。

2024-04-09 21:12:48 427 1

原创 第G7周:Semi-Supervised GAN 理论与实战

创建一个标签嵌入层,用于将条件标签映射到潜在空间# 初始化图像尺寸,用于上采样之前# 第一个全连接层,将随机噪声映射到合适的维度# 生成器的卷积块nn.Tanh(),return img"""返回每个鉴别器块的层"""if bn:# 鉴别器的卷积块# 下采样图像的高度和宽度# 输出层self.adv_layer = nn.Sequential(nn.Linear(128 * ds_size ** 2, 1), nn.Sigmoid()) # 用于鉴别真假的输出层。

2024-04-05 17:18:19 786 2

原创 第G6周:CycleGAN实战

CycleGAN的一个重要应用领域是Domain Adaptation(域迁移:可以通俗的理解为画风迁移),比如可以把一张普通的风景照变化成梵高化作,或者将游戏画面变化成真实世界画面等等。

2024-03-24 12:33:10 428 1

原创 第G5周:Pix2Pix理论与实战

条件生成对抗网络的本质是将额外添加的信息融入到生成器和判别器中,其中添加的信息可以是图像的类别、人脸表情和其他辅助信息等,旨在把无监督学习的GAN转化为有监督学习的CGAN,便于网络能够在我们的掌控下更好地进行训练。Pix2pix 的网络结构如上图所示,生成器 G 用到的是 U-Net 结构,输入的轮廓图x编码再解码成真实图片,判别器 D 用到的是作者自己提出来的条件判别器 PatchGAN ,判别器 D 的作用是在轮廓图x的条件下,对于生成的图片 G(x)判断为假,对于真实图片判断为真。

2024-03-21 14:11:54 803 1

原创 深度学习-第G4周:CGAN|生成手势图像 _ 可控制生成

针对上述原始GAN无法生成具有特定属性的图像数据的问题,Mehdi Mirza等人在2014年提出了条件生成对抗网络,通过给原始生成对抗网络中的生成器G和判别器D增加额外的条件,例如我们需要生成器G生成一张没有阴影的图像,此时判别器D就需要判断生成器所生成的图像是否是一张没有阴影的图像。条件生成对抗网络的本质是将额外添加的信息融入到生成器和判别器中,其中添加的信息可以是图像的类别、人脸表情和其他辅助信息等,旨在把无监督学习的GAN转化为有监督学习的CGAN,便于网络能够在我们的掌控下更好地进行训练。

2024-03-05 17:56:00 358

原创 第G3周:CGAN|生成手势图像

条件生成对抗网络(CGAN)是在生成对抗网络(GAN)的基础上进行了一些改进。对于原始GAN的生成器而言,其生成的图像数据是随机不可预测的,因此我们无法控制网络的输出,在实际操作中的可控性不强。

2024-01-31 11:23:42 912 1

原创 深度学习-第G2周:人脸图像生成(DCGAN)

深度卷积对抗网络(Deep Convolutional Generative Adversarial Network,DCGAN)是一种生成对抗网络(GAN)的变体,专门设计用于生成图像。DCGAN结合了卷积神经网络(CNN)的思想,使其能够更有效地学习图像的特征和纹理,从而生成更逼真的图像。DCGAN即使用卷积网络的对抗网络,其原理和GAN一样,只是把CNN卷积技术用于GAN模式的网络里,G(生成器)网在生成数据时,使用反卷积的重构技术来重构原始图片。

2024-01-29 15:01:35 1093

原创 第G1周:生成对抗网络(GAN)入门

GAN并不指代某一个具体的神经网络,而是指一类基于博弈思想而设计的神经网络。GAN由两个分别被称为生成器(Generator)和判别器(Discriminator)的神经网络组成。其中,生成器从某种噪声分布中随机采样作为输入,输出与训练集中真实样本非常相似的人工样本;判别器的输入则为真实样本或人工样本,其目的是将人工样本与真实样本尽可能地区分出来。生成器和判别器交替运行,相互博弈,各自的能力都得到升。

2024-01-26 12:10:15 793 1

原创 YOLOv8白皮书-第Y9周:重要模块解读

同时,head.py文件也包括了一些后处理的操作,比如对检测结果进行筛选,去除重复的目标物体或者对目标物体进行位置的微调。此外,head.py文件还会对检测结果进行类别的识别,将目标物体的类别信息进行标记,并将结果输出为可读的格式。通常用于自动计算卷积层所需的填充(padding),以保持特征图(feature map)的空间维度或者使其符合某种设计意图,如保留边界信息或者使得卷积操作的输出大小等同于输入大小(即所谓的 ‘same’ padding)。普通卷积的扩张率为1,空洞卷积的扩张率大于1。

2024-01-25 11:18:25 1084 1

原创 YOLOv8-第Y8周:yolov8.yaml文件解读

yolov8.yaml文件解读

2024-01-17 17:48:30 1356

原创 YOLOv8-第Y7周:训练自己的数据集

安装环境依赖包,请进入项目文件在文件地址栏中直接输入cmd,打开cmd后输入。最后输入以下命令即可开始训练(参数很多可以修改,建议查看。训练集:验证集=8:2。

2024-01-08 11:55:46 668

原创 YOLOv5白皮书-第Y6周:yolov5改进--SPD-Conv+Yolov5

小目标绝技 | 用最简单的方式完成Yolov5的小目标检测升级!

2024-01-05 19:47:57 1381 1

原创 YOLOv5白皮书-第Y5周:yolo.py文件解读

🍨 本文为🔗中的学习记录博客。

2023-12-21 11:05:50 393

原创 深度学习YOLO Y1-Y4周 水果检测

输入的卷积特征图的大小为(w, h),第一层空间金字塔采用4x4的刻度对特征图进行划分,其将输入的特征图分成了16个块,每块的大小为(w/4, h/4);第二层空间金字塔采用2x2的刻度对特征图进行划分,将特征图分为4个块,每块大小为(w/2, h/2);将原输入分为两个分支,分别进行卷积操作使得通道数减半,然后一个分支进行Bottleneck * N操作,然后concat两个分支,使得BottlenneckCSP的输入与输出是一样的大小,这样是为了让模型学习到更多的特征。YOLO V5中的CSP结构。

2023-12-13 20:34:19 803 1

原创 深度学习 R3——天气预测

EDA的主要目的是做出任何假设之前帮助观察数据。它可以帮助识别明显的错误,以及更好地理解数据中的模式,检测异常值或异常事件,找到变量间的关系。

2023-12-07 14:15:14 1093

原创 第R2周:LSTM-火灾温度预测

LSTM提出背景LSTM缓解了RNN中梯度消失的问题,使其可以处理长短时序列。但是LSTM并没有彻底解决梯度消失的问题。LSTM被各大科技公司应用在文字翻译,语音识别等方向,因为其相比RNN,在各个应用场景上带来了比较大的效果提升。一句话介绍LSTM,它是RNN的进阶版,如果说RNN的最大限度是理解一句话,那么LSTM的最大限度则是理解一段话,详细介绍如下:LSTM,全称为长短期记忆网络(Long Short Term Memory networks),是一种特殊的RNN,能够学习到长期依赖关系。

2023-11-30 17:23:21 416

基于PCA和SVM算法的人脸识别

采用了matlab中的fictsvm训练函数,predict预测。

2022-05-15

空空如也

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

TA关注的人

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