![](https://img-blog.csdnimg.cn/81914233dc2449608bfd576fc521db88.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习与机器学习
文章平均质量分 60
深度学习与机器学习
Jackie_Wang11
while(days<=lifetime) {
++learning;
}
展开
-
Stable Diffusion Web UI + Anaconda环境 + 本地Windows系统部署
这里博主机器的cuda 是11.1版本,但按照之前的经验,在ananconda中安装cuda11.3是可以向下兼容的,原因其实很简单,anaconda可以做到环境隔离,即在创建好的环境中进行安装,不会影响其他程序或者模型的使用。原创 2023-04-15 20:26:49 · 3986 阅读 · 2 评论 -
匈牙利算法解决两个坐标列表匹配问题
【代码】匈牙利算法解决两个坐标列表匹配问题。原创 2022-11-28 20:31:50 · 857 阅读 · 0 评论 -
RNN结构有什么问题?LSTM解决了RNN什么问题?怎么解决的?
1、减少参数量,使得训练更加容易,减少训练难度2、它有助于将模型应用于不同长度的示例。在读取序列时,如果RNN模型在训练期间的每个步骤使用不同的参数,则不会将其推广到看不见的不同长度的序列。通常,序列会根据整个序列的相同规则进行操作。“星期一下雪了”“星期一在下雪”虽然细节在序列的不同部分中,但这两个句子的含义相同。参数共享反映了我们在每一步都执行相同任务的事实,因此,我们不必在句子的每一点都重新学习规则。为什么LSTM(Long Short-Term Memory)为什么叫长短期记忆网络。原创 2022-10-10 17:05:07 · 4997 阅读 · 0 评论 -
nn.BCEWithLogisticLoss() & nn.BCELoss()的区别 ,nn.CrossEntropyLoss() & nn.NLLLoss()的区别
nn.BCEWithLogisticLoss() & nn.BCELoss()的区别 ,nn.CrossEntropyLoss() & nn.NLLLoss()的区别原创 2022-07-13 16:29:13 · 442 阅读 · 0 评论 -
Pytorch构建网络细节总结
区别:optimizer.step() 是对模型参数进行更新scheduler.step() 是对学习率进行更新.cuda() 只能指定GPUmodel.train() 和 model.eval() 原理与用法pytorch可以给我们提供两种方式来切换训练和评估(推断)的模式,分别是:model.train() 和 model.eval()。一般用法是:在训练开始之前写上 model.trian() ,在测试时写上 model.eval() 。1.model.train()在使用 pytor原创 2022-07-12 11:11:58 · 569 阅读 · 0 评论 -
Pytorch创建类时为什么要继承nn.Module以及如何使用nn.Module
nn.Module----pytorch 中的重要模块化接口torch.nn 是专门为神经网络设计的模块化接口,nn构建于autgrad之上,可以用来定义和运行神经网络nn.Module 是nn中重要的类,其包含网络各层的定义函数,即构造函数 def init(self),以及前向传递函数def forward(self,x)...原创 2022-06-13 09:35:59 · 2387 阅读 · 1 评论 -
yolov5 显示每个类别的mAP以及如何继续训练
1、训练时显示每个类别的mAPverbose设置成True即可2、继续训练将’–resume’中的default =True设置为Truedefault = ''填入想要继续训练的生成的exp中的last.pt的路径或者使用命令行python train.py --cfg yolov5l,yaml --batch-size 64 --weights './runs/train/exp4/weight/last.pt' ...原创 2022-05-02 20:06:21 · 6959 阅读 · 5 评论 -
华为 OBS上传notebook以及notebook上传到OBS
从OBS上导入到Notebookimport moxing as moxmox.file.copy_parallel('obs://桶名/文件名/','/home/ma-user/work/')从Notebook导入到OBSimport moxing as moxmox.file.copy_parallel('/home/ma-user/work/文件名', 'obs://桶名/文件夹名')print('Copy procedure is completed !')...原创 2022-05-02 12:59:02 · 1464 阅读 · 4 评论 -
mmdetection安装教程
简要说一下nndetection的安装步骤吧:github:https://github.com/open-mmlab/mmdetection1、首先看一下自己的cuda版本是多少,根据自己的cuda版本安装对应的pytorch版本由于我是最新版本,所以直接进行pytorch官网安装最新版本就好了2、之后创建并激活环境conda环境conda create -n mmdetection python=3.7conda activate mmdetection3、根据环境安装mmcv这里原创 2022-04-29 09:40:00 · 1641 阅读 · 0 评论 -
上采样之最近邻插值、双线性插值
上采样之最近邻插值、双线性插值一、最近邻插值二、双线性插值一、最近邻插值设i+u, j+v(i, j为正整数, u, v为大于零小于1的小数,下同)为待求象素坐标,则待求象素灰度的值 f(i+u, j+v)。如果(i+u, j+v)落在A区,即u<0.5, v<0.5,则将左上角象素的灰度值赋给待求象素,同理,落在B区则赋予右上角的象素灰度值,落在C区则赋予左下角象素的灰度值,落在D区则赋予右下角象素的灰度值。最邻近元法计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化原创 2022-04-04 15:34:40 · 1657 阅读 · 0 评论 -
Yolov5 损失函数
Yolov5 损失函数正负样本匹配策略正样本个数的增加策略损失函数正负样本匹配策略本文的正负样本指的都是预测框而不是groundtruth框。正负样本是根据groundtruth框和anchor的匹配情况来确定的。yolov3/4采用的都是基于IOU的匹配策略,而 Yolov5采用的是基于宽高比例的匹配策略。具体而言,对每一个groundtruth框,分别计算它与9种anchor的宽与宽的比值、高与高的比值,在宽比值、高比值这2个比值中,取最极端的一个比值,作为groundtruth框和anchor原创 2022-04-01 22:31:39 · 8146 阅读 · 4 评论 -
yolov5 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x88 in position 153: illegal multibyte seq
yolov5 UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x88 in position 153: illegal multibyte sequence原因在于yaml文件中添加了中文注释,要将所有中文注释删除就好了原创 2022-03-07 18:03:35 · 1736 阅读 · 5 评论 -
PASCAL VOC格式的标注格式和YOLO格式的txt标记文件
YOLO格式的txt文件中包含以下内容:其中x,y,w,h都做了归一化而PASCAL VOC标注格式存储的是图片的左上角坐标(Xmin,Ymin),以及右下角坐标(Xmax,Ymax)PASCAL VOC格式转化成YOLO格式如下图所示原创 2022-03-06 20:13:57 · 3431 阅读 · 0 评论 -
RNN为什么不适合做BN?BN与LN的区别
此问题来自:https://www.zhihu.com/question/308310065最近再看BN、LN、IN、GN的区别,看到LN的时候,一直没太看懂,只知道:首先,BN天然与batch size有关,batch size太小bn的效果不会太好,并且BN对于图像那样的固定尺寸的输入有效,对RNN这种输入时序列形式的网络效果不好,反而Layer Normlization(LN)派上了用场,为什么,下面的答案总结的很好,简单易懂RNN是可以用BN的,只需要让每个Batch的长度相等,可以通过对每个序原创 2022-03-05 20:12:59 · 1843 阅读 · 0 评论 -
IOULoss、GIOULoss、DIOULoss、CIOULoss的区别
原创 2022-03-01 19:24:40 · 419 阅读 · 0 评论 -
CV方向经典及前沿文献链接(持续更新)
图像分类(Classification)LeNet http://yann.lecun.com/exdb/lenet/index.htmlAlexNet http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdfVGGNet https://arxiv.org/abs/1409.1556GoogLeNet, Inceptionv1(Going deeper原创 2022-01-20 13:13:34 · 1865 阅读 · 0 评论 -
数据增强之Mosaic数据增强的优点、Mixup,Cutout,CutMix的区别
一、Mosaic data augmentationMosaic数据增强方法是YOLOV4论文中提出来的,主要思想是将四张图片进行随机裁剪,再拼接到一张图上作为训练数据。这样做有以下几个优点:1、增加了数据的多样性,丰富了图片的背景。2、增加了目标个数3、四张图片拼接在一起变相地提高了batch_size,在进行BN操作时的时候可以更好的统计均值和方差二、Mixup,Cutout,CutMix的区别Mixup: 将随机的两张样本按比例混合,分类的结果按比例分配;Cutout: 随机的将样本原创 2022-03-01 16:33:46 · 10123 阅读 · 0 评论 -
分组卷积与DW卷积、Residuals与Inverted Residuals、bottleneck与linearbottleneck
分组卷积(Group Convolution)分组卷积在ResNext中用到了首先必须明确:常规卷积(Convolution)的参数量是:K*K*C_in*nK是卷积核大小,C_in是input的channel数,n是卷积核个数(output的channel数)分组卷积的参数量是:K*K*C_in*n*1/gK是卷积核大小,C_in是input的channel数,n是卷积核个数(output的channel数),g是分组数DW(Depthwise Separable Conv)+原创 2022-02-13 10:52:53 · 2176 阅读 · 0 评论 -
ResNet,ResNext,ShuffleNetv1分别采用的block及其FLOPs计算
ResNet的Block结构ResNext的Block结构ResNext使用的是结构(a),但其实(a),(b),©是等价的ShuffleNetv1的Block结构三种网络Block结构的FLOPs计算假设block的input size:c*h*w 并且 bottlneck的通道是m,那么三种block的Flops计算如下:ResNet:hw(1*1*c*m)+hw(3*3*m*m)+hw(1*1*m*c)=hw(2cm+9m^2)ResNext:hw(1*1*c*m)+hw(3*3原创 2022-03-01 14:08:14 · 1150 阅读 · 0 评论 -
VGGNet 与 GoogLeNet
VGGNetVGGNet 是由牛津大学著名研究组(Visual Geometry Group)提出网络亮点:通过堆叠多个3*3的卷积核来代替大尺度卷积核(减少所需参数)论文中提到,可以通过堆叠两个3x3的卷积核代替5x5的卷积核,堆叠三个3x3的卷积核代替7x7的卷积核,因为都拥有相同的感受野经典的VGG16网络结构VGG16经常作为一些网络的预训练模型或者目标检测网络的backbone,十分重要一般采用D结构,也就是VGG16,为什么叫VGG16呢,因为这个网络中的卷积层+全连接层一共原创 2022-02-10 09:18:36 · 3251 阅读 · 0 评论 -
目标检测中的非极大值抑制(NMS)
非极大值抑制(Non-Maximum Suppersion, NMS)在目标检测过程中,在同一目标位置上回产生大量的候选框(proposal),这些候选框相互之间会存在重叠现象,此时我们需要利用非极大值抑制来找到最佳的目标边界框,并且消除冗余的边界框。IOU(交并比)IOU(Intersection-Over-Union): 两个边界框的交集部分除以它们的并集部分,数值越大代表两个边界框的重合部分越多非极大值抑制NMS算法流程前提:目标边界框列表及其对应的置信度得分列表,设定IOU阈值,此阈值用原创 2022-02-09 11:47:45 · 1589 阅读 · 0 评论 -
BatchNormalization作用及使用
BatchNormalization作用及使用BN层的提出BN层的作用BN层的使用BN层的提出Internal Covariate Shift :此术语是google小组在论文Batch Normalizatoin 中提出来的,其主要描述的是:训练深度网络的时候经常发生训练困难的问题,因为,每一次参数迭代更新后,上一层网络的输出数据经过这一层网络计算后,数据的分布会发生变化,为下一层网络的学习带来困难(神经网络本来就是要学习数据的分布,要是分布一直在变,学习就很难了),此现象称之为Internal Co原创 2022-02-09 09:39:05 · 1956 阅读 · 0 评论 -
conda环境安装dlib包(安装库文件方式)
之前的一篇文章是使用whl文件进行dlib库的安装,安装步骤简单但是存在的问题是导入这个包之后无法访问这个包内的某一个方法,例如点开这个包之后:包内各个方法可以使用,但是不知道具体的内容,很是苦恼,所以又创建了一个环境,重新安装了dlib,这次是以直接安装库的方式进行安装,具体操作如下:...原创 2021-09-16 18:58:26 · 1668 阅读 · 2 评论 -
conda环境安装dlib包(whl文件方式)
conda环境安装dlib包conda虚拟环境的python版本是3.6用了很多方法也没有安装好,最后使用whl文件安装的方式顺利安装!1:下载dlib包whl文件下载地址:链接: link.下载后解压进入anaconda prompt环境,并激活虚拟环境进入解压后的文件位置pip install 安装显示successfully installed 就是可以了在列表里找到dlib即安装成功...原创 2021-09-15 11:04:10 · 2792 阅读 · 1 评论 -
Sklearn特征预处理:归一化MinMaxScaler()、标准化StandardScaler()
1、归一化、标准化的目的是使数据无量纲化,那我们为什么要进行标准化?特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征。为了能使所有的特征或者一些特征具有同等重要的地位,我们需要用到一些方法进行无量纲化,使不同规格的数据转换到同一规格。2、归一化定义:通过对原始数据进行变换把数据映射到(默认为[0,1])之间3、API介绍from sklearn.preprocessing import MinMaxScaler原创 2021-06-01 10:57:06 · 6202 阅读 · 0 评论 -
Sklearn字典DictVectorizer及文本CountVectorizerTfidfVectorizer特征提取
什么是特征提取?介绍三种特征提取方法:分别对应字典特征提取(DictVectorizer)以及文本特征提取(CountVectorizer、TfidfVectorizer)1、特征提取API:import sklearn.ferture_extraction import *2、字典类型特征提取作用:对字典数据进行特征值化,将处理数据的技巧叫做”one-hot“编码:sklearn.feature_extraction.DictVectorizer(sparse=True,…)DictVe原创 2021-06-01 10:17:55 · 358 阅读 · 0 评论 -
Sklearn数据集API介绍
1 scikit-learn数据集API介绍from sklearn.datasets import *1、获取小规模数据集,数据包含在datasets里datasets.load_*()2、获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/datasets.fetch_*(data_home=None)eg:sklearn.datasets.load_iris():加载并返回鸢尾花数据集sklear原创 2021-06-01 09:32:30 · 656 阅读 · 0 评论