- 博客(23)
- 收藏
- 关注
原创 ros解决同一个节点不能同时启动
在初始化节点中加入ros::init_options::AnonymousName就可以解决这个问题。这样做每次在启动xx节点的时候都会在xx节点后面加上一个随机数,这样就可以避免节点重名的冲突。
2023-02-24 21:50:20
431
1
原创 YOLO系列-yolov4
yolov4可以使用单卡GPU进行训练,训练任务不能太大,将四张图片融合成一起,借鉴了cutmix的方法,由上图可以知道cutmix效果最好,这样可以提高训练效率和精准度。yolov4还有增加噪音点、随机遮掩、随机裁剪等数据增强。
2022-12-19 14:55:00
713
原创 YOLO系列-yolov3
在yolov3中不论速度还是map值都比其他算法高出很多yolov3最大的改进就是网络结构,使其更适合小目标检测特征做的更细致,融入多持续特征图信息来预测不同规格的物体先验框更丰富了,3种scale,每种3个规格,一共9种softmax改进,可以预测多标签任务为了能检测到不同大小的 物体,设计了3个scale在yolov2中为了能检测更小的物体,它把不同大小的特征图融合做成一个向量。这样做的弊端是可能会把一些特征图突出的特征变得不突出在yolov3中设计了3个scale,分别用来检测小中大三种
2022-12-05 17:22:25
664
原创 YOLO系列-yolov2
YOLO-V2-更大的分辨率,V1时用的是`224*224`,测试时使用`448*448`,测试的时候用的分辨率一般比较大,因为训练的时候使用`224*224`,测试的时候使`448*448`可能导致模型水土不服,所以V2训练时额外又进行了10次`448*448`的微调,使用高分辨率分类器后,YOLO2的map提升了四个百分点
2022-11-30 20:06:26
1223
1
原创 YOLO系列-yolov1
在做置信度的时候得分类来讨论,一种情况下预测的是前景,一种情况预测的是背景,我希望背景的时候置信度真实值为0,前景的时候置信度真实值是1,对每一个候选框都要去做这一个值,一旦这个候选框跟真实值的IOU大于0.5,这个0.5是可以自己设置的阈值,大于0.5的时候我认为它预测的可能是个前景,所以我希望当前这个框的置信度是1(越接近1越好)。的固定图片大小,固定值不代表只能检测固定大小的东西,固定值的意思只是把图片resize到固定值,图片里面的物体的坐标都会做相应的改变,还是可以映射到原始的输入数据当中。
2022-11-22 20:00:08
543
原创 acwing - 1098. 城堡问题
图1是一个城堡的地形图。请你编写一个程序,计算城堡一共有多少房间,最大的房间有多大。城堡被分割成 m∗n个方格区域,每个方格区域可以有0~4面墙。注意:墙体厚度忽略不计。输入格式第一行包含两个整数 m和 n,分别表示城堡南北方向的长度和东西方向的长度。接下来 m行,每行包含 n个整数,每个整数都表示平面图对应位置的方块的墙的特征。每个方块中墙的特征由数字 P来描述,我们用1表示西墙,2表示北墙,4表示东墙,8表示南墙,P为该方块包含墙的数字之和。
2022-11-20 12:07:03
277
原创 Transformer架构 VIT
transfomer的输入得是一个序列,我们用transfomer做视觉的时候不能把一整张图片传进去,而是考虑把一张图片分成多个小块,比如下图把图片分成九个小块,按照从左到右,从上到下分别标称序号1,2,3,4,5,6,7,8,9,每个小块还是图片,然后通过Embedding转换成向量,然后通过全连接对这些向量做一个整合。因为我们把分成了9小块图像,这些图像之间也是有位置顺序的,这里也和bert一样加上。
2022-11-18 20:07:05
1718
原创 Transformer架构-self-attention(注意力机制原理)
在传统的RNN网络时,x1会用到x0的特征,x2会用到x1的特征,下一步都会用到前一步结果。RNN比较大的问题就是没办法做并行操作。RNN如果使用并行,则它的层数可以增加,速度也可以变快。BERT就是做了**并行机制**。
2022-11-17 16:30:54
856
原创 MMLAB学习-Gard-CAM可视化方法
一般在模型训练结束可以用GARD-CAM的方法查看我们的模型在训练过程中关注点是否正确,也可以查看模型中不同层数的关注点,但一般只关注最后一层。
2022-11-16 17:08:30
739
原创 MMLAB学习-MMCLS项目-模块配置文件组成
模型模块大多数网络的模块大同小异,认识各个模块的之后就是可以训练自己的任务,构建自己的数据集了。
2022-11-15 20:04:59
540
原创 样本类别不均匀使用StratifiedKFold分层
在处理具有不平衡类分布的分类任务时,我们应该更喜欢`StratifiedKFold`而不是`KFold`。
2022-11-12 18:08:30
1586
原创 nn.AdaptiveAvgPool2d()笔记
对于`AdaptiveAvgPool3d`只是在`AdaptiveAvgPool2d`的基础上又增加了一维的输入有原来`H * W` 变成 `D * H * W`
2022-11-11 09:30:06
1042
原创 自动混合精度(AMP)方法autocast和GradScaler
之前大多数的学习框架都是用float32的精度进行训练,AMP做的改进就是使用float32和float16相结合进行训练,并且相同的超参数实现了与使用float32几乎相同的精度autocast 和 GradScaler 一般配合使用,起到作用一般就是减少显存占用,加快模型训练速度。
2022-11-10 21:20:34
2868
原创 pytorch中的squeeze()与unsqueeze() 包懂
再比如y的维度是2,1,1,1,1,2则A=2,B=[1,1,1,2],由构成了A * 1 * B 故输出是2,1,1,1,2,有的朋友可能已经想到了如果在加一层squeeze(1)呢,没错和你想得一样会变成2,1,1,2,在继续加会变成2,1,2一直变成2,2。比如x的维度是2,1,2,1,2 则A=2,B=[2,1,2] 则构成了A * 1 * B 故输出是2,2,1,2,如是dim=0则不变这很简单。例如,如果输入的形状为:(A×1×B×C×1×D)则输出张量的形状为(A×B×C×D)
2022-11-10 15:24:40
1082
原创 BCEWithLogitsLoss= BCELoss + Sigmoid
BCELoss传入的值要进行Sigmoid操作BCEWithLogitsLoss内部封装了Sigmoid操作。
2022-11-10 10:14:50
1679
原创 EfficientNet
先来看看之前的CNN比较图片来源再来看看主角EfficientNet,从这张图可以看到EfficientNet-B7的acc是最高的,可这还不是最令人惊叹的,再看x轴EfficientNet-B7的参数大小仅在60到70之间,而AmoebaNet-C虽然acc紧跟其后但是参数大小却是EfficientNet-B7的两倍左右。这得益于EfficientNet的混合的模型放缩方法(compound scaling)图片来源。
2022-11-09 21:58:24
242
原创 C++实现二叉树的三种遍历方式
#C++实现二叉树的三种遍历方式这里的话,关于二叉树的遍历有许多优化的算法,还有各种适应环境,这里对于刚学习的人正适合,主要要介绍的是二叉树最常见的三种遍历。先定义一个二叉树的结构体#include<cstdlib>#include<iostream>using namespace std;typedef struct BiTNode{ char data;...
2020-04-03 16:23:09
1395
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人