自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习之激活函数——RReLU

随机修正整流线性单元(RReLU),全称Randomized ReLU,是ReLU的延伸版,也是为了解决dead relu神经元坏死现象而提出的一种激活函数。

2024-05-18 14:10:45 686

原创 深度学习之激活函数——PReLU

参数整流线性激活函数(PReLU),全称Parametric ReLU,在解决ReLU激活函数会出现的dead relu神经元死亡的现象的同时,引入一个新的可学习的参数对激活函数进行控制。

2024-05-18 13:54:17 540

原创 深度学习之激活函数——ELU

指数线性单元(ELU),全称Exponential Linear Units,使用了指数作为激活函数的一部分。

2024-05-18 13:41:36 933

原创 深度学习之激活函数——Leaky ReLU

Leaky ReLU激活函数是为了解决ReLU激活函数会出现的dead relu神经元死亡的现象,而这一现象的根本原因是ReLU函数在x0的范围内梯度恒为0,无法更新参数。所以Leaky ReLU将x0的部分换成一个斜率很小的一个线性函数来解决这一问题。

2024-05-18 13:21:49 1023

原创 深度学习之激活函数——ReLU

整流线性单元(ReLU),全称Rectified linear unit,是现代神经网络中最常用的激活函数,大多数前馈神经网络都默认使用该激活函数。

2024-05-14 17:57:20 733

原创 深度学习之激活函数——Tanh

双曲正切1函数(tanh),其图像与sigmoid函数十分相近,相当于sigmoid函数的放大版。在实际的使用中,tanh函数要优先于sigmoid函数。

2024-05-14 17:06:53 363

原创 深度学习之激活函数——Sigmoid

Sigmoid函数,又称logistic函数,是最早使用的激活函数之一。但是由于其固有存在的一些缺点,如今很少将其作为激活函数,但是依然常用于二分类问题中的概率划分。

2024-05-14 15:42:33 759

原创 深度学习之视觉特征提取器——GoogleNet/Inception

从Inception最初提出到Xception,网络深度和网络宽度都不断增加。深度方面,出现了由多层卷积组成的子模块,多层子模块再构成的主模块,此外还利用残差连接的方式缓解梯度消失,为深层网络的应用提供可能。宽度方面,利用不同卷积核处理原始特征,并将处理后的特征进行拼接,其样式更加丰富。整体来说,虽然从单独一个模块的角度来说利用深度可分离卷积等方法使得训练速度加快,但是由于网络深度加深整体运行速度会变慢。

2024-05-09 14:49:32 838

原创 深度学习之视觉特征提取器——AlexNet

AlexNet在2012年以第一名在Top-1分类精度霸榜ImageNet,并超过第二名近10个百分点,并且值得说明的是,霸榜2013年的ZFNet也就是对AlexNet进行调参后得到了更好的结果。相比于古早的LeNet实现的十分类,AlexNet能够成功进行一千分类并且达到了一个新高度。此外,AlexNet证明了神经网络的深度对模型效果至关重要,并且可以利用GPU大大加速这一过程。

2024-05-06 11:44:01 1108 1

原创 深度学习之视觉特征提取器——LeNet

LeNet是是由深度学习巨头Yann LeCun在1998年提出,可以算作多层卷积网络在图像识别领域的首次成功应用。我们现在通常说的LeNet是指LeNet-5,最早的LeNet-1在1988年即开始研究,前后持续十年之久。但是,受限于当时计算机算力的发展,以及本有的SVM技术效果就十分优秀,这一技术并没有得到广泛重视。然而,在以卷积神经网络为基础构建起的计算机视觉的今天,不得不感慨,二十年后今天的LLM或者是什么模型,会成为曾经的CNN/LeNet。

2024-04-30 20:29:56 471 2

原创 深度学习之基础模型——长短时记忆网络LSTM

这样做的原理在于,“短期记忆”和“新记忆”拼接起来形成的新张量,如果值比较小说明该记忆不重要,不重要就会被 sigmoid 赋予更接近于 0 的权重,反之则会赋予更接近于 1 的权重。LSTM 的初衷也是如此,通过一些手段使得重要的信息得以保留,而不重要的信息被抛弃,使得重要的信息所占“记忆”的“比重”变高。而“短期记忆线”,顾名思义,主要是汇集短期时间内的输入信息,并根据其重要程度,将重要的传给“长期记忆线”,而将不重要的抛弃,这样“长期记忆线”就能够更好地维持其所拥有的信息更加有效。

2024-04-22 13:49:32 820

原创 深度学习之基础模型——循环神经网络RNN

而反过来思考之前主要用于处理图像的 CNN,像素之间虽然确实可能存在潜在的关联,但是宏观角度我们并不清楚他们之间的联系,或者换句话说,图片像素之间的联系是空间维度,而并不是时间维度。比如现在我们想用神经网络处理行人的运动轨迹,如果我们用卷积神经网络,那么对于不同时间的轨迹数据,卷积权重都是一样的。如果我们从存在角度,这个句子如果写在纸上,那么其确实存在于空间维度,但是从理解角度,我们是从“你”字开始,依次往后看“这么”“年轻”“睡得着”,我们需要之前的汉字,才能辅助理解后面的汉字,乃至整个句子。

2024-04-22 13:32:09 1248

原创 深度学习之视觉特征提取器——VGG系列

在VGG中,很大的贡献之一是使用了3×3卷积核以替代5×5卷积核、7×7卷积核等。这样的优点有两个:(1)对相同大小的图像使用更小感受野的卷积,就会导致卷积的层数更多,层数更多意味着对非线性的拟合更好。这一点可以类比于高次函数可以拟合的曲线更多、更逼近。比如yaxby=ax+byaxb就难以拟合曲线,而yaxbcxdyaxbcxd就可以拟合部分曲线。(2)对相同大小的图像使用3×3的卷积所需要的参数量更少。

2024-04-22 13:03:13 906 1

原创 NLLloss,KLDivLoss,CrossEntropyLoss三类损失函数比对

NLLLoss与CrossEntropyLoss的区别在于一个log_softmax()函数,KLDivLoss与其它两者的区别在于其实两个KL散度之差再求和,而另外两者是求和(当然具体公式会有一定区别)的增大,不同类别之间的差距值越小(对负标签,即非正确标签关注度更高),但是大小关系并不改变。这里我们使用了一个超参数。这三个函数在深度学习模型中十分常见,尤其是在知识蒸馏领域,经常会将这三个函数进行比较。然后接着之前的例子,我们令T=0.5,1,2,4时,观察数据的变化。具体含义不同,这里的。

2023-07-05 14:24:16 365

原创 通俗易懂的知识蒸馏 Knowledge Distillation(下)——代码实践(附详细注释)

教师模型网络结构(此处仅举一个例子):卷积层-卷积层-dropout-dropout-全连接层-全连接层。

2023-07-05 14:20:40 898

原创 通俗易懂的知识蒸馏 Knowledge Distillation(上)——理论分析

实际上,学生模型的中间网络层也可以学习教师模型的中间网络层输出结果,让学生模型的中间网络输出结果拟合教师模型的中间网络输出结果,如下图所示。这就好比一个教授教授一个婴儿,一下学不会那就分开学。

2023-07-05 14:15:55 441

原创 Python报错解决——‘ffmpeg‘ 不是内部或外部命令,也不是可运行的程序

在调用ffmpeg包的时候发现这个乱码的报错:ffmpeg’ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ���

2023-04-03 23:35:49 2903 4

原创 Pytorch3D安装全流程-亲自安装

Pytorch3D是一个用于加速深度学习在处理3D相关信息时候的运算速率的库。深度学习有时会需要处理大量的3D数据,比如在人脸建模的时候。这时候使用这些库会大大帮助我们节省运算成本。

2023-04-03 22:52:40 2946 3

原创 shell报错解决4—— tar: Error Is Not Recoverable: Exiting Now

我个人对“Recoverable”的理解就是“不可修复的”,那么很有可能是在压缩包压缩或者传输过程中国出现了某些问题导致压缩包不可修复。所以我就重新去对应官网下载好了安装包传输进去再安装了一遍,就不报错了。

2023-03-26 15:12:02 1520

原创 shell报错解决3—— unable to locate package zliblg

将l换成1就成功了,这两者长得太像了,十分容易混淆

2023-03-26 15:05:20 507

原创 shell报错解决2—— ERROR: cannot verify xxx‘s certificate, issued by ‘xxx’

这样就不需要检查证书了,虽然这样可能会带来一定的不安全性,但是实践证明好像也没什么不安全的地方)这个报错的原因是我所在的服务器并没有相应的证书所以无法下载。

2023-03-26 14:47:37 1810

原创 shell报错解决1—— -bash: sudo: command not found

由于本人使用的服务器是一个全新的,没有预先配置好相关环境以及命令,所以有很大概率是这个问题。update更新也是很多相关报错解决的方法,遇事不决可以直接更新~这个文件夹里面去寻找有没有。这一行指令的意思就是去。大概的意思就是没找到。,这说明我们没有安装。

2023-03-26 14:35:59 5851 1

原创 Capsule Networks 胶囊网络

胶囊网络是Hinton老爷子近几年提出的一种新型的神经网络,他认为胶囊网络的设计更加符合人类神经元的原理,是未来可以替代传统神经网络的一种新的神经网络。

2023-03-26 14:04:15 567 4

原创 opencv报错解决1——OpenCV(4.5.4-dev):error:CAP_IMAGES: can‘t find starting number: ‘cv::icvExtractPattern

当时我解决这个问题是受到了一个外国小哥回答的启发,即有可能不是opencv安装的问题,而是我原代码出了错,所以我去网上找了别人跟我写的类似功能的代码去比对,最后历经六小时才发现原因所在,希望能帮助大家省下这个时间。X64,X32是电脑位数,这个自己查看自己电脑的位数即可,64位用X64,32位用X32。在网上查了很多类似的报错的解决方法,几乎所有的都试过了,opencv卸载重装了很多遍,都没有用,甚至有的时候还出现了结尾是。经过很长时间的探寻我,我终于发现了我的问题所在。原报错解决,可以正常运行。

2023-03-19 19:18:59 9370 3

原创 Pytorch报错解决——(亲测有效)RuntimeError: Distributed package doesn‘t have NCCL built in

亲测这个报错就没了,然而接下来还有好多别的报错…我继续去解决了,解决完再分享别的~若要解释原因就是windows系统不支持NCCL,只能换用GLOO。上网搜寻一番后,发现了解决方法。这一行中的nccl换成gloo。

2023-03-18 16:00:51 12320 10

原创 机器学习自学笔记——最好懂的支持向量机

文章目录文献参考基本概念支持向量支持向量机(SVM)最大间隔超平面软间隔与硬间隔SVM最优化问题求解思路支持向量机数学原理第一步:建立支持向量方程第二步:求出最大间隔LLL表达式第三步:求LLL约束条件,得出优化问题第四步:解出优化问题解的前四个条件第五步:得出优化问题解的第五个条件第六步:转化成SVM对偶问题第七步:优化方程第八步:得出算法步骤标题升维转换与核技巧软间隔文献参考· 百度知道:桂纶美基本概念支持向量概念:位于分类超平面附近的样本点,称为支持向量在数学中,点这个概念常常用向量

2023-03-15 10:42:10 300

原创 机器学习自学笔记——朴素贝叶斯与极大似然估计

​朴素贝叶斯算法通俗理解,最大似然估计介绍。我们所处在的这个世界是充满概率的一个世界。甚至可以说,世界上所有事情的发生都是有一定概率的,并不存在绝对发生与绝对不发生。​ 比如,你同桌他高考考得分数比你高,他未来工作薪资比你高只是一个可能性事件,在大部分人的认知里,“他未来工作薪资比你高”这个是个大概率事件;但是在我的认知里,绝不是这么一回事。没准他去了他梦想中的天坑专业出来工作都找不到,而你去了一个就业前景好的专业,那么之前那个结论他就不成立。

2023-03-13 21:57:44 608

原创 机器学习自学笔记——聚类

每个类中的样本点都有某些相似的特征。而分裂聚类正好相反,先将所有样本分到一个类之中,再将样本中距离最远的分到两个新的类。在上面的聚类算法的步骤中,“进行聚类”这一步骤中出现了“相似度度量”,这也是聚类算法中最重要的点。比如像我用图书的例子进行类比时,在“进行聚类”这一步说得就十分不清楚,因为我没法找到一个合适的标准去衡量图书之间的相似程度。需要注意的是,这里的“距离”是广义距离,并不仅仅是我们通常理解的。定义两个类任意样本之间的距离的平均为两类之间的距离。定义两个类的样本中心之间的距离为两类之间的距离。

2023-03-13 21:35:32 1492

原创 机器学习自学笔记——感知机

感知机算法通俗理解,详细介绍。如上图,黄色的线可以将黄色三角形和红色圆形完全分开,不会有黄色三角形在红色圆形的区域,也不会有红色圆形在黄色三角形区域。​ 最直观的一种想法就是,让不同的类别对应其特殊的一个常数,比如类别1对应的是0,类别2对应的是1。​我们或许可以直接想到,误分类点个数可以作为损失函数的标准:误分类点数目越少,分类越准确。​在模型训练的过程中,仅仅有一个分类函数是远远不够的。​从直观上理解,数据集可分的概念就是一个数据集可以通过一个超平面将不同的类别的数据样本点完全分开。

2023-03-13 21:20:17 542

原创 机器学习基础自学笔记——k邻近算法

​关于k邻近算法的详细介绍十分简单的引入:点(小黑点)和每一个已分类点(各种颜色的圆)的距离,并进行排序,选出其中k个距离最近的圆,再进行投票。​ KNN算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数,如下图所示。这个统计的过程就是一个投票的过程。或许你并没有觉得这种方法简化了计算,但事实上,对于一个巨大的数据集,如果能够少遍历一棵子树,将会带来巨大的简便,只不过,这种情况是有概率性出现的。

2023-03-13 20:57:56 467

原创 pytorch报错解决2——Only Tensors of floating point and complex dtype can require gradients

其实这个报错很好理解,就是只有float型或者complex型可以进行梯度计算。而问题也就出在我arange后面中用的是“4”,改成“4.0”变成小数即可。

2023-03-09 21:26:05 3064

原创 数据结构5——线性表4:多项式实现例题

设置一前驱指针pre,用于指向待找到的第一个大于输入项指数的结点的前驱,pre初值指向头结点;· 循着链表向下逐个寻找链表中当前结点与输入项指数,找到第一个大于等于输入项指数的结点*q;​ √ 指数相同,对应系数相加,若其和不为零,则在c中增加一个新项。​ 1)若和不为零,则修改p1所指结点的系数值,同时删除p2所指结点。③ 当指针p1和p2均未达到相应表尾时,则循环比较p1和p2所指结点对应的指数值(② p3指向和多项式的当前结点,初值为Pa的头结点。

2023-03-08 17:52:31 428

原创 数据结构4——线性表3:线性表的链式结构

定义链表的两种方式:Lnode *L;或 LinkList L;虽然两者的意思上差不多,但是对定义链表我们一般使用后者。定义结点指针p两种方式:Lnode *p;或 LinkList p;虽然两者的意思上差不多,但是对定义结点我们一般使用前者。总结1:常用指针操作指向头结点:p=L指向首元结点:s=L->next指向下一个结点:p=p->next查找:O(n)插入和删除:O(n)头插法/尾插法:O(n)头尾相接的链表,即表中最后一个结点的指针指向头结点,整个链表形成一个环。

2023-03-08 17:37:30 503

原创 数据结构3——线性表2:线性表的顺序结构

线性表的顺序结构基本理解,线性表销毁、清空、查找、定位、插入、删除等C/C++实现

2023-03-08 16:51:11 624

原创 数据结构2——线性表1:基本概念

ADT List{数据对象:D={a(i)|a(i)属于Elemset,(i=1,2,…,n,n≥0)数据关系:R={|a(i-1),a(i)属于D,(i=2,3,…,n)}//二元关系基本操作:······}ADT List。

2023-03-08 15:56:37 365

原创 数据结构1——概念与程序复杂度

数据结构类型以及算法的概念、程序复杂度计算、数据结构基本体系搭建

2023-03-07 11:47:15 277

原创 Pytorch基础语法学习2——argparse模块

argparse 模块是 Python 内置的用于命令行参数解析的模块,可以通过少数代码中变量或者参数的改变以实现对整个代码项目的操控。对于大型代码项目(如代码超过1000行),十分便捷argparse 模块可以让人轻松编写用户友好的命令行接口,能够帮助程序员为模型定义参数。简单来说,该模块就是一个“代码型”的操作界面,通过修改集中的参数以实现各种目的上图是yolov5中train.py的一部分argparse 模块。比如我们可以修改488中的const=300,改成const=600。

2023-03-07 10:58:12 507

原创 Python基础学习7——字典

我们可以通过打印来显示字典中的值,但是有可能你所想要打印的键在字典中并不存在而会发生报错,这时候可以使用get()方法,可以避免这种报错。字典类似于C语言中的结构体,可以理解为包含一个物体的许多属性的集合。每个属性都有对应的名称和其实际的内容。如果字典中值有重复的情况,而此时我们只想输出不重复的,我们可以用set()函数。,是指两个相关联的值,即上面以道德属性对应的名称和其实际内容。与添加键值对类似的,我们也可以修改字典的值。上面代码中有两个键值对,分别是。**键:**字典的一个个属性。

2023-03-03 19:56:29 49

原创 Python基础学习12——异常

在Python中,会使用“异常”这个十分特殊的对象来管理程序执行期间发生的错误,即报错。本文将介绍一下python基础的处理异常的方法以及一些基本的异常类型。

2023-03-03 19:53:14 361

原创 Python基础学习11——文件

我们可以利用python对本电脑文件夹里的文件进行处理,python中提供了一系列相关的方法和函数供我们使用。

2023-03-03 19:51:52 493

空空如也

空空如也

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

TA关注的人

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