![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
jenny_paofu
这个作者很懒,什么都没留下…
展开
-
为什么用非极大值抑制(NMS)算法
为什么用非极大值抑制(NMS)算法非极大值抑制应用很多,如在边缘检测、目标检测中均有用到,起初能够理解算法本身逻辑,但是不明白为啥用NMS而不是直接用阈值算法呢?在这以YOLO1网络预测阶段为例进行说明~**首先直给原因:因为一个预测框不止预测一个物体,而是预测多个物体,所以要重复进行这个过程,将该框预测物体都预测出来。**后面也可以不看哈其次详细说明原因:YOLO1在预测阶段,输入是4484483的图像,经过卷积层,全连接层最后输出是77(2*5+20)d的张量1)首先将图像分成77个grid c原创 2022-05-19 10:18:49 · 560 阅读 · 0 评论 -
labelme批量制作数据集
上一篇记录了labelme的安装及简单使用,接下来记录将labelme标注后json文件转化为训练数据1. 单个json文件转换为png数据labelme自带的labelme_json_to_dataset功能,只是只能转换单个文件,使用下面命令conda activate labelme #激活labelme环境labelme_json_to_dataset.exe C:\testData\0.json这样在testData文件下会生成一个0_json文件夹,里面有五个文件如图所示其中文件原创 2022-04-13 17:59:01 · 2858 阅读 · 1 评论 -
ModuleNotFoundError: No module named ‘lanenet_model‘解决办法
ModuleNotFoundError: No module named 'lanenet_model’解决办法在测试lanenet网络进行测试时,出现上面问题,考虑是test_lanenet.py的文件路径不对,添加以下代码并改为自己路径import argparseimport os.path as opsimport timeimport cv2import glog as logimport matplotlib.pyplot as pltimport numpy as npim原创 2022-03-07 10:03:46 · 1920 阅读 · 1 评论 -
目标检测中的BackBone,Neck,Head
目标检测中的BackBone,Neck,Head本博客只记录本人学习对目标检测的理解,如有不正确,烦请各位大佬指正。基于深度学习的目标检测算法有三个组件:Backbone,Neck及Head。首先,对于backbone,看文献或博客经常会有backbone,看翻译会译作主干,其实就是主干网络,主要用于特征提取,并且基本在大型数据集(ImageNet,COCO,VOC等)上完成训练,拥有预训练参数的卷积神经网络,例如:ResNet50,Darknet53等等。然后Head,翻译为头,检测头,主要用于预原创 2022-01-10 18:04:59 · 3750 阅读 · 0 评论 -
车道检测数据
车道检测数据车道检测数据网盘亲测有效,百度云连接:https://pan.baidu.com/s/1iyEMu0tcKaVX8nv0zBnSKw提取码: fccj相关json文件:https://github.com/TuSimple/tusimple-benchmark/issues/3原创 2022-01-05 16:22:25 · 498 阅读 · 0 评论 -
adaconda安装
adaconda安装adaconda下载及安装adaconda下载地址这里,然后基本傻瓜式安装:若更换安装地址,修改下面地址即可然后勾选配置默认环境变量下一步等着就行了安装完成后,检验是否安装成功:cmd+r然后输入查看adaconda版本,如图所示安装成功conda --version接下来记录下tensorflow-gpu安装过程,出门左转,一开始安装环境都会觉得麻烦,容易出错,认真耐心一定可以成功,希望刚入门的朋友们一定耐心认真!...原创 2021-11-14 17:41:22 · 471 阅读 · 0 评论 -
Epoch,Batch,Iteration三个深度学习基本概念
Epoch,Batch,Iteration三个深度学习基本概念进行深度学习模型训练时,总会用看到的三个概念:Epoch,Batch,Iteration,初入AI难免会整不明白三个概念的关系,mark下,有误请大佬们指正定义及解释Epoch: 使用所有训练集数据对模型进行一次完整训练,称之为“一代训练”**Batch:**使用训练集中一部分样本对模型权重进行一次反向传播的参数更新,这一部分样本称之为“一批数据”**Iteration:**使用一个Batch数据对模型进行一次参数更新的过程,称为“一原创 2021-11-11 15:25:07 · 4158 阅读 · 0 评论 -
python:sklearn标签编码(LabelEncoder)
python:sklearn标签编码(LabelEncoder)sklearn.preprocessing.LabelEncoder的使用:在训练模型之前,通常都要对数据进行一定得处理。将类别编号是一种常用的处理方法,比如把类别“电脑”,“手机”编号为0和1,可使用LabelEncoder函数。作用将n个类别编码为0~n-1之间的整数(包括0和n-1)例子假设对电子产品数据进行编码,数据可以分为两种情况:有NaN,无NaN方法一:使用fit()函数及transform()函数from skl原创 2021-09-07 13:12:37 · 10460 阅读 · 1 评论 -
precision与Recall
precision与Recall在机器学习中,precision与recall是常用的指标,在说这两个概念之前,首先来说下精度(Precision)与准度(Accuracy)。Precision指精度,意味着随机误差(Random Error)小,即方差(Variance)小,描述了实际值的扰动情况。Accuracy指准度,意味着系统误差(System Error)小,即偏差(Bias)小,描述了实际值与真实结果的偏离程度。准确度高,意味着误差(Error)小,Error = Bias + Var原创 2021-08-31 18:05:22 · 8644 阅读 · 2 评论 -
目标检测之IoU
目标检测之IoU本博客主要作为本人学习记录,如果错误烦请指正哟~IoU作为目标检测算法性能mAP计算的一个非常重要的函数,其计算过程是怎样的?1. IoU原理IoU全程交并比(Intersection over Union),计算的是“预测的边框”和“真实的边框”的交集和并集的比值。预测边框的并集容易计算,即两个边框面积相加减去交集,但是交集不易计算。在计算交集时你首先想到的是,根据两个框的相对位置来计算交集,如图:但是这样程序分支太多,设计较为麻烦了,所以可以先从一维角度考虑计算交集,如图原创 2021-08-31 14:45:52 · 408 阅读 · 0 评论 -
tf.keras.preprocessing.sequence.pad_sequences()用法
keras只接受长度相同的序列输入,当数据集序列长度不等时,使用该函数进行padding进行填充。函数说明keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32', padding='pre', truncating='pre', value=0.)sequences: 浮点数或整数构成的两层嵌套列表maxlen:None或者整数,为序列的最大长度,大于该长度的序列被截短,小原创 2021-08-30 16:43:48 · 841 阅读 · 0 评论 -
RNN循环神经网络的参数梯度计算
RNN循环神经网络的参数梯度计算本博客记录本人学习,如果错误烦请指正哈~循环神经网络(Rerrent Neural Network ,RNN),它对具有序列特性的数据非常有效,它能挖掘数据中的时序信息及语义信息,利用RNN这种能力,使深度学习模型在解决语音识别、语言模型、机器翻译以及时序分析等NLP领域的问题时有所突破。假设使用全连接网络处理语音识别问题,就会出现什么问题?识别出的输入语音没有上下问联系,而RNN的输入不止和当前时刻输入有关系,和前一刻输入也有关系,其结构图及参数计算如下图参考:参原创 2021-08-30 15:16:30 · 857 阅读 · 0 评论 -
为什么卷积核size通常都是奇数
为什么卷积核size通常都是奇数本博客用于自我学习,如有错误,烦请指教!在卷积神经网络模型中卷积核大小一般都是偶数,很少有奇数或者没有奇数得卷积核,这是为什么呢?LeNet()卷积核大小55,AlexNet模型(2012)中用到1111,55,33,VGG(2014)系列用得都是33大小卷积核,ResNet(2015)使用33大小卷积核等等,都是使用奇数得卷积核。原因有2:1. 保证锚点在中间锚点也就是卷积核滑动时得中心点,一个参考点,奇数大小的卷积核刚好是中心位置,避免位置信息发生偏移,在CN原创 2021-08-24 11:22:21 · 1588 阅读 · 0 评论 -
卷积神经网络的卷积及池化(pooling)
如何理解卷积神经网络中的卷积及池化(pooling)1. 卷积卷积层是用一个固定大小的矩形区去席卷原始数据,将原始数据分成一个个和卷积核大小相同的小块,然后将这些小块和卷积核相乘输出一个卷积值(注意这里是一个单独的值,不再是矩阵了)。卷积的本质就是用卷积核的参数来提取原始数据的特征,通过矩阵点乘的运算,提取出和卷积核特征一致的值,如果卷积层有多个卷积核,则神经网络会自动学习卷积核的参数值,使得每个卷积核代表一个特征。卷积首先要定义一个卷积核,卷积核通常是一个正方形,长宽就是卷积核的尺寸。图像的卷积原创 2021-07-15 14:34:55 · 4354 阅读 · 0 评论 -
机器学习中及集成学习
集成学习(Enable Learning)记录学习集成学习笔记~简介在机器学习的监督学习算法中,我们的目的是学习出一个的稳定且在各个方面表现较好的模型,但实际情况并不理想。有时只能得到某些方面较好的模型,也就是偏好的模型。集成学习就是组合多个有偏好的弱模型以得到更好更全面的监督模型,集成学习的思想就是某个偏弱模型得到了错误的预测,其他模型也可以弥补回来。集成学习并不是一种算法,而是一种训练思。集成学习在各个规模的数据集都有不同的方法:数据集大:划分成小的数据集,学习多个模型进行组合。数据集小原创 2021-07-09 11:20:06 · 179 阅读 · 0 评论 -
Keras模型中数据维度报错
ValueError: Input 0 of layer dense is incompatible with the layer: expected axis -1 of input shape使用深度学习Keras的Sequential框架搭建神经网路模型,关于数据维度报错问题ValueError: Input 0 of layer dense is incompatible with the layer: expected axis -1 of input shape to have value原创 2021-04-27 15:23:25 · 4213 阅读 · 0 评论