深度学习
文章平均质量分 83
orient2019
这个作者很懒,什么都没留下…
展开
-
注意力机制:pytorch实现
注意力机制:pytorch实现查询(queries),键(keys)和值(Values)查询、键和值是注意力机制的基本三个关键词,注意力评分函数则是注意力机制建立的主要方式,注意力机制就是以这三个关键词为基础通过注意力评分函数进行花式操作:加性注意力、乘积注意力、软硬注意力和多头注意力等查询(queries): 是自主性提示,告诉你应该关注什么键(keys): 为非自主提示,为所需的所有信息值(values): 使用queries对keys加权,最后得到的带注意力权重的信息注意力评分函数: 注原创 2021-10-19 17:04:45 · 8415 阅读 · 2 评论 -
跟李沐学AI—pytorch锚框代码解析——3
跟李沐学AI–锚框代码解析–3非极大值抑制预测边界框当存在许多锚框时,可能会输出许多相似的具有明显重带你的预测边界框,围绕同一目标,为了简化输出,使用给非极大值抑制(non-maximum suppression, NMS)合并对应目标为同一类的类似的预测边界框其工作原理如下:基础概念:对于一个预测边界框B,目标检测模型会计算每个类的预测概率,最大预测概率 ppp 所对应的类别,就是边框 BBB 的类别,这里 ppp 为 BBB的置信度,对于同一张图像,所有非背景预测边框按照置信都降序排序,生成原创 2021-10-12 17:52:41 · 742 阅读 · 0 评论 -
跟李沐学AI—pytorch锚框代码解析—2
跟李沐学AI–锚框代码解析–2锚框的实际应用在训练集中,每一个锚框为一个训练样本,为了训练目标检测模型,需要进行两步对应:基于IoU将边界框分配给最接近锚框锚框与类的对应关系锚框与位置的对应关系,计算偏移量offset将最接近的真实边界框分配给锚框若锚框为 A1,A2,A3,…,AnA_1,A_2,A_3,\dots,A_nA1,A2,A3,…,An,真实边框为B1,B2,B3,…,BmB_1,B_2,B_3,\dots,B_mB1,B2,B3,…,Bm,其中锚框数原创 2021-10-12 15:23:59 · 698 阅读 · 0 评论 -
跟李沐学AI—pytorch版本锚框代码解析—1
跟李沐学AI–锚框代码解析–1锚框的介绍目标检测算法通常会在输入图像中采样大量的区域,然后判断区域中是否包含感兴趣的目标,并调整区域边缘从而更准确的预测目标的真实边界框。**锚框:**就是以图片中的像素点为中心生成的多个大小和高宽比(aspect ratio)不同的边界框。锚框的生成锚框的生成具有很多方式,但是基础为以像素点为中心扩展,主要参数:边框大小:s,高宽比:r,其中边框大小 s 为站原始图像的比例设输入图像的高度为hhh,宽度为www,则生成锚框的宽度为:sr∗h/ws \sq原创 2021-10-11 16:04:54 · 1531 阅读 · 3 评论 -
讯飞人脸关键点检测大赛--打卡2--伪标签学习与蒸馏学习
本此打卡的主要内容包括:预训练模型加载与修改训练过程中的模型保存伪标签训练知识蒸馏预训练模型加载与修改预训练模型采用的为resnet18,基于torchvision的model中保存的模型加载参数,并将现有的参数固定,后接全连接层进行回归resnet18模型加载说明:固定参数的是用来提取图片的数据特征resnet18模型最后一层的全连接层输出为进入softmax层之前的out_features利用 model.parameters()的可迭代性的params.require.原创 2021-10-09 14:15:46 · 436 阅读 · 0 评论 -
讯飞人脸关键点检测大赛--打卡1
这段时间参加了Coggle 30 days of ML的打卡活动,报名了CV赛事,赛题地址为:https://challenge.xfyun.cn/topic/info?type=key-points-of-human-face&ch=dw-sq-1赛题概述:人脸识别是基于人的面部特征信息进行身份识别的一种生物识别技术,金融和安防是目前人脸识别应用最广泛的两个领域。人脸关键点是人脸识别中的关键技术。人脸关键点检测需要识别出人脸的指定位置坐标,例如眉毛、眼睛、鼻子、嘴巴和脸部轮廓等位置坐..原创 2021-09-30 09:42:18 · 107 阅读 · 0 评论 -
深度学习--基于队列的数据随机载入
起因:最近在处理数据,训练深度学习模型的时候,发现使用pytorch中的dataloader的时候会占用大量缓存,拖慢数据的处理速度,凑巧在学习 李沐老师的深度学习课程时,李沐老师给出了解决方案,解决方案如下:将数据保存硬盘上,每次读取两个batch,一个batch直接用于训练,一个batch备用,这样可以尽可能少的占用缓存,同时保证运行速度以下是我的解决方案,主要思想是基于队列先进先出的思想,首先使用python构建队列:class Queue: def __in..原创 2021-09-01 18:22:41 · 188 阅读 · 0 评论 -
pytorch知识之优化--学习率调节
学习率是神经网络优化是的重要超参数,在梯度下降法中,学习率α\alphaα非常关键,学习率过大会不收敛,学习率过小则收敛速度太慢,常用的学习率调整方法包括:学习率衰减、学习率预热、周期性学习率调整等,除此之外还有一些自适应学习率。在pytorch中提供了相关算法的实现函数,挑几个比较有代表性的介绍学习一下:学习率衰减等间隔调整学习率:torch.optim.lr_scheduler.StepLR( optimizer, step_size, gamma=0.1, last.原创 2021-08-28 13:42:34 · 464 阅读 · 0 评论 -
基于pytorch的sque2suqe with attention实现与介绍
基于pytorch的sque2suqe with attention实现与介绍上一篇文章《基于pytorch的ConvGRU神经网络的实现与介绍》https://blog.csdn.net/qq_34992900/article/details/119514362 提到了关于GRU和LSTM神经元输出的处理问题,只采用LSTM或者GRU的话仅仅提取最后一个输出就可以,但是这样可能会造成一些信息的丢失,sque2sque with attention可以对输出进行转化,通过利用注意力机制对gru或者LS原创 2021-08-15 17:34:20 · 329 阅读 · 1 评论 -
基于pytorch的ConvGRU神经网络的实现与介绍
ConvGRU神经网络的介绍1.卷积神经网络介绍卷积神经网络(convlutional neural network)是一种具有局部连接,权重共享等特性的深层前馈神经网络特点:局部连接:在卷积层中每一个神经元都只和前一层中的某个局部窗口内的神经元相连,构成一个局部神经网络权重共享参数的卷积核w(l)w^{(l)}w(l)对于第l层的所有神经元都是相同的汇聚优点:平移、缩放、旋转不变性组成:目前卷积神经网络一般由卷积层、汇聚层和全连接层交叉堆叠而成卷积层:原创 2021-08-08 14:30:53 · 10399 阅读 · 0 评论 -
transformer--编码部分
transformer–编码部分Positional Encoding位置嵌入:就是在输入中加入包含句子中特定位置信息的维向量位置嵌入的维度与输入时间序列的维度相同,为 [序列长度, 所处位置]。一般输入的为多时次的时间序列,维度为[ time_num, feature_num ]在论文中使用了sin和cos的线性变换来提供模型的位置信息:PE(pos,2i)=sin(pos/100002i/dmodel)PE(pos, 2i)=sin(pos/10000^{2i/d_{model}})原创 2021-04-19 14:12:06 · 614 阅读 · 0 评论 -
随机森林介绍及python实现
随机森林(Random forest, RF)是 Breiman 教授在 2001 年提出的集成学习方法,是一种统计学习理论。它是基于装袋法Bagging集成理论实现的,利用自助法 bootstrap抽样技术从原始数据集中有放回地抽取多个不同的训练数据集,再结合随机子空间方法对每个bootstrap 数据集进行决策树建模,组成随机森林。在模型预测时,将测试数据输入模型,对多棵决策树的输出类别进行投票得到最终的预测结果。决策树介绍决策树是一种经典的数据挖掘方法,以一种自动生成判断规则的方式进行建模。.原创 2021-04-10 21:02:05 · 1059 阅读 · 1 评论 -
Bi-LSTM(attention)代码解析——基于Pytorch
Bi-LSTM(attention)代码解析——基于Pytorch以下为基于双向LSTM的的attention代码,采用pytorch编辑,接下来结合pytorch的语法和Attention的原理,对attention的代码进行介绍和解析。import torchimport numpy as npimport torch.nn as nnimport torch.optim as optim原创 2021-04-05 16:20:39 · 11243 阅读 · 24 评论 -
XGBoost学习2:重要参数篇
上一篇博客中对XGboost算法的原理、python的简单实现和一些重要参数进行了简单的介绍。但是在算法的实际使用和测试中,出了算法本身外,还要建立良好的算法训练、测试流程,以测试不同的参数对于算法的实现效果的影响,这一篇blog的主要内容就是介绍XGboost的重要参数的调整以及相应的调整方式。XGboost中的参数主要分为三类:通用参数、集成参数和应用参数,具体的对应功能在上一节中均有介绍集成算法参数:弱分类器个数:集成算法是通过在数据上构建多个弱评估器,汇总所有弱评估器的建模..原创 2021-03-28 19:07:26 · 400 阅读 · 0 评论 -
XGBoost介绍及Python实现
XGBoost介绍及Python实现XGBoost介绍及Python实现XGBoost简单介绍XGBoost的python简单实现XGBoost介绍及Python实现XGBoost简单介绍XGBoost 算法是boost 集成算法中的一种,Boosting 算法的思想是将许多弱分类器集成在一起形成一个强分类器。XGBoost 是一种提升树模型,是将许多树模型集成在一起,形成强分类器。XGBoost 中使用的弱分类器为CART (classification and regression tree)原创 2021-03-20 15:23:21 · 4017 阅读 · 0 评论 -
凸优化与支持向量机理解
凸优化问题对于AI任务的理解:AI问题由两个方面组成:模型和优化,通过程序实现,程序的实现又可以拆解为数据结构+算法凸优化是在机器学习和深度学习中常用的优化方法的理论基础优化问题分类优化问题可以从四个方面分类:是否为凸优化问题是否连续是否带条件是否平滑其中最重要的是问题是否为凸优化问题凸优化的重要概念convex set 凸集对于任意x, y ∈\in∈ C 且任意参数,α∈\alpha \inα∈[0, 1],有αx+(1−α)y∈C\alpha x+(1原创 2020-12-26 17:26:30 · 868 阅读 · 0 评论 -
深度学习(花书)--概率与信息论
深度学习(花书)–概率与信息论基本概念随机变量:可以随机地取不同值的变量。离散:拥有有限或者可数的无限状态连续:伴随着实数值概率分布:用来描述随机变量或一簇变量在每一个可能取值的状态的可能性的大小。概率质量函数(probability mass function, PMF)用来描述离散变量的概率分布概率质量函数用于多种随机变量,被称为联合概率分布(joint probability distribution)概率密度函数(probability density原创 2020-11-14 19:09:57 · 355 阅读 · 0 评论