- 博客(32)
- 收藏
- 关注
原创 mmrotate简单使用
Datalabels0001.txt0002.txtimages0001.png0002.png分别是x1,y1,x2,y2,x3,y3,x4,y4,classes,其中最后一个数字不可缺少,0表示易识别,1表示难识别。
2024-04-28 18:30:40 510
原创 基本网络结构
通过一个全局平均池化层加两个全连接层以及全连接层对应激活【ReLU和sigmoid】组成的结构输出和输入特征同样数目的权重值,也就是每个特征通道的权重系数,学习一个通道的注意力出来,用于决定哪些通道应该重点提取特征,哪些部分放弃。ResNet与DenseNet具有相似的思想但聚集在不同的方面,ResNet更注重特征的复用,DenseNet更注重特征的生成,能不能将两者结合起来呢,这就是DPN,双路网络。1998的的LeNet提出的cnn网络结构,包含卷积层,池化层,全连接层,塑造了今天的基本网络结构。
2023-12-20 17:15:23 258
原创 常见模型指标
AUC的取值范围为0~1之间,AUC的值存在小于0.5的情况,不过AUC的值要大于0.5才有意义。以真正率TPR为纵坐标,以假正率FPR为横坐标绘制的曲线就是ROC(Receiver Operating Characteristic)曲线ROC曲线上每个点表示分类模型在特定的截断点下的(TPR、FPR)。ROC曲线越靠近左上角模型的表现越好。相对熵,也称为K-L散度,然而,K-L散度没有对称性,对称化后的K-L散度即K-L距离就是IV值。以二分类问题为例,可以划分TP,TN,FP,FN。
2023-12-20 14:18:42 197
原创 损失函数简述
如下图(a)-(b)分别所示,绿色框代表Ground Truth,黑色框代表Prediction,可以看出,同一个Lx分数,预测框与真实框之间的拟合/重叠程度并不相同,显然重叠度越高的预测框是越合理的。无论对于什么样的输入值,都有着稳定的梯度,不会导致梯度爆炸问题,具有较为稳健性的解。(1)上面的三种Loss用于计算目标检测的Bounding Box Loss时,独立的求出4个点的Loss,然后进行相加得到最终的Bounding Box Loss,这种做法的假设是4个点是相互独立的,实际是有一定相关性的。
2023-12-19 15:02:11 637
原创 过拟合问题
过拟合是训练中常见的一种现象,模型权重过于贴合训练集而在测试集上表现不好,模型泛化能力差,可能是网络过深或者训练时间过多,与之相对的是欠拟合,可能是网络过浅或者训练时间过少。dropout即随机失活,是Alexnet中使用的一种方法,让神经元输出结果随机为0,减少神经元之间的依赖,提高模型泛化能力。模型过深会导致模型退化,模型在较浅时可以取得不错效果,深度提高反而效果变差,可以看resnet的残差链接部分(链接)L1,L2正则化指L1,L2范数的变形,增加模型参数,提高模型复杂度。参数还未收敛就停止循环。
2023-12-19 12:00:20 73
原创 激活函数简述
多分类问题中,我们通常回使用softmax函数作为网络输出层的激活函数,softmax函数可以对输出值进行归一化操作,把所有输出值都转化为概率,所有概率值加起来等于1。Relu在整体上是非线性的,小于0时不存在,大于等于0时为x,梯度为1,解决了上述缺点,但由于小于0时直接不存在,存在“死神经元”问题,可以通过降低学习率来缓解。2.损失较小时导数大,损失大时导数小(函数两侧导数大,中间导数小),导致损失较大的参数无法传递回权重。在Alexnet种使用的Relu函数是现在最常用的激活函数。
2023-12-19 11:06:05 41
原创 LSTM与GRU
图中,在传统的LSTM结构基础上,每个门(遗忘门、记忆门和输出门)增加了一个“窥视孔”(Peephole),有的学者在使用时也选择只对部分门加入窥视孔。与传统的LSTM不同的是,这个变体不需要分开来确定要被遗忘和记住的信息,采用一个结构搞定。在遗忘门的输出信号值(0到1之间)上,用1减去该数值来作为记忆门的状态选择,表示只更新需要被遗忘的那些信息的状态。RNN的反馈特性使得它能记住短时间的信息,但不能记忆较远时间的信息,LSTM可以。该模型比传统的标准LSTM模型简单。LSTM分为记忆门,遗忘门,输出门,
2023-12-18 11:24:21 142
原创 RNN循环神经网络
反馈连接的存在导致神经元的状态 (以及输出)将随时间变化,因此RNN网络特别适合解决一些动态问题。因为存在层内反馈,RNN能够记忆,它主要有输入层,Hidden Layer, 输出层组成。传统的机器学习模型,如MLP,SVM是典型的前馈神经网络,单向传播,RNN也就是循环神经网络,或者说反馈神经网络,它有一个反馈的操作,反馈神经网络由一个反向传播操作。
2023-12-15 18:15:15 79
原创 哈夫曼树与Logistic回归
一句话解释,哈夫曼树将一个softmax的多分类问题转换成了多个logistic的二分类问题以连续词袋模型(CBOW)为例,输入多个词向量,输出层则输出最可能的w,最简的实现自然是softmax,但为了计算难度,使用哈夫曼树简化计算pwp^wpw为从根节点到词汇w 叶子节点对应的路径djw{d_j^w}djw表示pwp^wpw中第j个节点对应的编码,而θ1w\theta^w_1θ1w表示路径pwp^wpw中的参数向量根据上述定义,我们可以写出基于Hierarchical Softmax优化的连续
2023-08-31 18:25:47 78
原创 重聊python封装继承多态
abstractmethod将一个方法标记为抽象方法。抽象方法是没有实际实现的方法,其目的是为了在子类中被重写(实现)。在抽象基类中,可以使用 @abstractmethod 装饰器来声明一个抽象方法,从而强制子类实现这个方法。python可以继承一个类,在不改变类本身下,重写相关方法。不同子类调用相同方法,执行产生不同形态,即多态。
2023-08-24 15:07:53 169 1
原创 反向传播与梯度下降
误差反向传播算法仅仅是一种在神经网络的训练过程中用来计算梯度的方法,它能够计算损失函数对网络中所有模型参数的梯度,这个梯度会反馈给某种学习算法,例如梯度下降法,用来更新权值,最小化损失函数。使用模型参数初始值和输入值x,逐层计算,得到神经网络的预测值0.59,它而样本标签0.8相差比较大,因此需要使用误差函数来调整模型参数,也就是训练网络。使用误差反向传播算法对误差损失函数的梯度信息进行反向传播,同时更新所有的模型参数,首先更新输出层模型参数。使用平方损失函数计算出预测值和标签值之间的误差。
2023-08-11 14:53:00 199 1
原创 gpu out of memory
nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out 文件中。nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。应该是这几个进程预定了显存却没有使用,造成out of memory却nvidia-smi发现显卡空闲。&:让命令在后台执行,终端退出后命令仍旧执行。Arg:一些参数,可以指定输出文件。
2023-08-11 14:14:52 522 1
原创 cross_entropy_loss交叉熵损失
信息量与事件发生的概率负相关,即事件越确定,概率越高,信息量越少,越不确定,信息量越高。用P代表真实发生的概率,Q代表预测的概率,则可得交叉熵损失。
2023-07-26 16:34:19 259 1
原创 json转xml转txt,coco转yolo转voc
json转xml格式,代码1代码2适用于两种json格式自动xml转txt,最简单,不报错txt格式转换xml格式数据集,yolo转voc自动xml转json,标注文件转coco格式。
2023-07-26 14:46:52 136 1
原创 txt格式转换xml格式数据集,yolo转voc
txt格式转换xml格式数据集,yolo转xml自动xml转txt,最简单,不报错自动xml转json,标注文件转coco格式。
2023-07-26 14:43:41 492 1
原创 目标检测数据增强篇
var_limit ((float, float) or float): 噪声方差范围. 若为单个float数值,将转换为区间范围 (0, var_limit). 默认值: (10.0, 50.0).blur_limit (int, (int, int)):模糊图像的最大kernel size. 有效值范围[3, inf),默认值:(3, 7)Mosaic简单的讲就是将4张图片缩小后拼接在一起,超出部分舍弃,不足部分填充,如图,1,2,3,4图拼接,选取蓝色框内作为Mosaic结果。站内有篇文章写的不错,
2023-07-25 17:48:48 1272
原创 qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin “xcb“
qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in
2023-06-25 17:30:47 5347 2
原创 Yolov5环境配置win/Lin
1.首先确定自己的cuda版本,通过win+Rcmd进入命令行,输入nvidia-smi。进入cuda驱动官网,下载对应(高于)的驱动版本。1.去官网下载pycharm,勾选添加环境变量。下载对应版本的cudnn。1.下载yolov5。
2023-06-21 10:59:27 543
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人