自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 目标检测正负样本分配策略----ATSS

表示适合GT的FPN层数,标准差高则表示高质量的anchor box集中在一个层中,应将阈值加上标准差来过滤其他层的anchor box,低则表示多个层都适合该GT,将阈值加上标准差来选择合适的层的anchor box,均值和标准差结合作为IoU阈值能够很好地自动选择对应的特征层上合适的anchor box。表示预设的anchor与GT的匹配程度,均值高则应当提高阈值来调整正样本,均值低则应当降低阈值来调整正样本。2.计算每个候选正样本和groundtruth之间的IOU,计算这组IOU的均值和方差。

2024-01-11 18:43:29 656

原创 TypeError: Model.forward() missing 1 required positional argument: ‘x‘解决方法

分析是只有1个gpu获得了数据。改成dump_image = torch.zeros((2, 3, imgsz, imgsz), device=device)就能用2个gpu了。网上搜索都是说减少gpu个数,试了1个gpu可以运行,多个的时候就不能运行,但这并没有解决问题。

2024-01-03 18:58:40 991

原创 正负样本分配策略simOTA

在目标检测中,有时候经常会出现一些模棱两可的anchor,如图3,即某一个anchor,按照正样本匹配规则,会匹配到两个gt,而retinanet这样基于IoU分配是会把anchor分配给IoU最大的gt,而OTA作者认为,将模糊的anchor分配给任何gt或背景都会对其他gt的梯度造成不利影响,因此,对模糊anchor样本的分配是特殊的,除了局部视图之外还需要其他信息。减少了参数量和GFLOPs,使速度更快,且表现更好。①使用anchor时,为了调优模型,需要对数据聚类分析,确定最优锚点,缺乏泛化性。

2024-01-03 16:35:38 1153

原创 yolov5详解与改进

参考:https://www.xjx100.cn/news/215104.html?

2024-01-03 16:16:20 397

原创 milvus学习(一)cosin距离和欧式距离

参考:https://blog.csdn.net/qq_36560894/article/details/115408613。归一化以后的cosin距离和欧式距离可以相互转化,未归一化的不可以相互转化(因为距离带单位)。

2024-01-02 17:20:20 655

原创 yolo系列相关损失函数

其实就是通过降低missing样本loss的权重,降低其在反向传播中的比重,达到降低missing样本的负面影响的目的。主要思路是: 通过增加困难样本的权重,让模型专注于困难样本(hard_sample)的学习,防止简单样本(easy_sample)过多主导训练的进程,可以解决难样本过少的问题。QFocalLoss是2020年的一篇文章,主要是解决FocalLoss只能适用于标签是0-1这样的二分类或者多分类任务,对于使用了label smooth的任务则无法使用。

2023-12-29 18:43:35 561

原创 yolov7中添加fppi评价指标

参考:https://blog.csdn.net/liuhao3285/article/details/135233281?yolov7中增加FPPI。

2023-12-29 18:19:33 465

原创 c++多类别nms

【代码】c++多类别nms。

2023-12-26 17:27:23 461

原创 yolov5模型蒸馏

参考代码:https://github.com/Adlik/yolov5yolov5间的模型蒸馏,相同结构的。配置参数加载教师模型。

2023-12-25 18:24:57 591

原创 多任务学习(MTL),分类任务调研

隐层参数的硬共享机制hard parameter sharing:在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现。降低了过拟合的风险。直观来讲,越多任务同时学习,我们的模型就能捕捉到越多任务的同一个表示,从而导致在我们原始任务上的过拟合风险越小。隐层参数的软共享机制soft parameter sharing:每个任务都有自己的模型,自己的参数。模型参数之间的距离是正则化的,以便鼓励参数相似化。

2023-12-18 18:15:06 396

原创 IDEA的DINO,DETR的变体,用于目标检测

代码:https://github.com/IDEA-Research/DINO。

2023-12-13 19:01:14 443

原创 Facebook的DINO,无监督模型,可用于分类和分割任务

在自监督学习中,模型坍塌指的是网络学习过程中出现了多样性减少的现象。具体而言,当模型把多个输入数据映射到相同的特征表示时,只考虑了一部分数据的表示,而忽略了其他数据样本的特征,从而导致多样性缺失,对模型的鲁棒性会产生很大的负面影响。在DINO中,student模型接收的是所有的crops图,而teacher模型接收的只是global views的裁剪图。teacher模型的权重参数更新不是基于反向传播更新的,而是通过指数移动平均法,将student模型学习到的权重参数更新给teacher。

2023-12-13 18:52:24 822

原创 apt-get update失败

说明没有网,参考:https://blog.csdn.net/qq_43445867/article/details/132384031。参考:https://blog.csdn.net/calculate23/article/details/126675452。二、如果有网络,就更换源。一、先验证是否有网络。

2023-12-12 17:01:18 443

原创 linux安装终端连接工具Tabby

参考:https://zhuanlan.zhihu.com/p/645787655。

2023-11-28 14:11:44 518

原创 yolov8 ddp训练报错,代码bug修改

单机多卡没错,多机多卡报错。修改两处处代码解决问题。

2023-11-13 16:20:37 432 1

原创 linux两块硬盘挂载同一个目录

参考:https://zhuanlan.zhihu.com/p/456193585。

2023-10-25 17:28:02 354

原创 yolov5模型剪枝

剪枝:https://zhuanlan.zhihu.com/p/408899259。总结:分类模型蒸馏效果 好,检测模型蒸馏效果一般,后处理越多的蒸馏效果不好。一、yolov5模型剪枝工程。三、yolov5模型蒸馏工程。二、分类模型剪枝工程。

2023-10-19 16:49:16 539

原创 python多线程

a=a+2这种类似计数的操作,会直接停止运行。注意一下代码部分不能有。

2023-10-18 15:30:00 47

原创 yolov5训练加速

显存和cpu使用率都不高,参考:https://blog.csdn.net/flamebox/article/details/123011129。方法一:开启图片缓存失败,机器的系统内存256G,图片占用内存500G左右,不够用,但是这里显示需要3T,不知道为什么。修改workers=12,提高cpu使用率,但是会使用更多的内存,需要关注系统内存使用情况,目前是167G/252G。方法:先使用dp训练,生成标签的cache,停掉再使用ddp方式训练。目前的workers是8,bs是32.

2023-10-10 16:06:12 546

原创 分析训练速度慢

3、增大磁盘内存的使用率,把部分数据放在内存条存储上,从内存条上读取数据,可以加快速度。分析GPU和CPU都没有使用完,瓶颈在磁盘IO。4、更换更快的硬盘,ssd,nvme硬盘等。查看cpu96个核的使用率。四、磁盘IO瓶颈解决方法。2、多张图内存拼在一起,二、分析CPU使用率。

2023-09-26 14:05:57 155

原创 linux挂载硬盘,解决2T以上挂载问题

译者注:磁盘大小是4TB。DOS分区表格式不能在超过2TB(512个字节的扇区)的卷上使用。请使用parted命令和GUID分区表格式(GPT) 答案是:使用parted命令。如果你的系统上没有parted,请安装它吧!解决方法:参考https://zhuanlan.zhihu.com/p/574643088;

2023-09-11 18:24:33 625

原创 分类模型训练pil、torchvision.transforms和opencv的resize

因为transforms.Resize当输入为PIL图像时,默认使用的PIL的resize进行处理,除了默认的双线性插值,还会进行antialiasing。参考:https://blog.csdn.net/weixin_41012399/article/details/126049885。PyTorch 中的 torchvision.transforms.Resize 就是采用的 PIL 的 resize。部署的时候使用opcv的resize处理,发现不一致,最好在训练的时候统一用opencv处理图片。

2023-09-08 15:01:52 761

原创 wandb(w&b): yolov5训练可视化工具

使用离线保存的模式,参考:

2023-09-08 10:02:32 181

原创 RealBasicVSR模型转成ONNX以及用c++推理

修改anaconda3/envs/realbasicvsr/lib/python3.8/site-packages/mmedit/models/restorers/srgan.py,直接将这个test_mode默认值改为Ture,让程序能走下去就行了。参考:https://blog.csdn.net/liang_baikai/article/details/129296268。这里已经得到了 realbasicvsr.onnx 模型文件了.将模型文件放在model文件夹下。写一个模型转换的脚脚本。

2023-08-29 16:32:52 178

原创 VIT 和Swin Transformer

以ViT-B/16为例,直接使用一个卷积核大小为16x16,步距为16,卷积核个数为768的卷积来实现。通过卷积[224, 224, 3] -> [14, 14, 768],然后把H以及W两个维度展平即可[14, 14, 768] -> [196, 768],此时正好变成了一个二维矩阵,正是Transformer想要的。与之前从图片中生成的tokens拼接在一起,Cat([1, 768], [196, 768]) -> [197, 768]。ViT-B/16为例,每个token向量长度为768。

2023-08-24 17:53:04 217

原创 解决样本不平衡问题

参考:https://www.zhihu.com/question/56662976三个维度考虑。

2023-08-17 16:53:37 99

原创 clip模型学习

参考:https://blog.csdn.net/weixin_53280379/article/details/125585445CLIP的训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系。如下图所示,CLIP包括两个模型:Text Encoder和Image Encoder,其中Text Encoder用来提取文本的特征,可以采用NLP中常用的text transformer模型;

2023-08-16 11:39:55 245

原创 linux压缩、解压文件夹

Linux多线程压缩软件pigz:https://zhuanlan.zhihu.com/p/389817246。linux大文件解压:https://www.dbs724.com/97298.html。

2023-08-07 15:59:23 53

原创 海思多batch推理

代码:https://github.com/mxsurui/NNIE-lite。实测多batch比单batch在yolov5推理上节省时间并不多。

2023-07-27 17:19:46 372

原创 模型并行训练

3.zero2之后,后向过程中通信增加,就是梯度那个环境,假设是同步跨卡交互,zero还要allreduce,bloom也测试确实效率下降较多!常用的通信库:openmpi(2009,没有考虑节点延迟,带宽不同的问题),nccl(2015还不支持,2017之后支持多节点),gloo,加油一个阿里巴巴的accl(基于Having-Doubling,做了拓扑,但是会变换节点链接):这个也是一个并行库,uber开源的,相关安装方法,比较麻烦,需要自己配置对应的通信库(默认是基于mpi的)、gpu支持。

2023-07-14 09:52:26 269

原创 torch.distributed 与 Kubeflow分布式训练

参考:https://www.zhihu.com/question/359744585/answer/3054739466?utm_id=0如果你不使用 torch.distributed,你仍然可以在 Kubeflow 上运行 PyTorch 工作负载,但是你可能需要自己实现分布式计算的逻辑,或者使用其他的库来实现分布式计算。在单独使用进行分布式训练时,大部分代码和在 Kubeflow 中使用是相同的,只是有些配置不需要手动配置了。

2023-07-13 15:20:40 422

原创 模型训练之dp、ddp与ZeRO

DDP消除了DP的低效率,没有了主GPU,每个GPU执行相同的任务,他们自力更生,不再需要主GPU分发数据,他们每一个都需要从磁盘中加载数据,体验着模型训练的每一步。当然,他们也需要通信,首先,DistributedSampler负责分发数据,所有GPU计算得到梯度之后会通过通信后端进行通信,ring all-reduce的方式每个GPU都会得到其他所有GPU的参数梯度,进而reduce parameters gradients,去更新参数。这种效率不高的数据并行方法,注定要被淘汰。

2023-07-10 14:57:04 241

原创 NVIDIA DLA初了解

您可以在 DLA 上运行任何网络,其中支持的层在 DLA 上运行,不支持的层回退到 GPU。如果您想要在 DLA 上运行整个模型,DLA 支持骨干网,例如 EfficientNet-Lite、EfficientNet-EdgeTPU、多个 MobileNet 版本、Inception 系列的模型、ResNets、YOLO 模型。由于工作量小而产生的开销。Orin 上的 DLA 特别针对 INT8 进行了优化,因为与 Xavier 上的 DLA 相比,通过权衡 FP16 性能来优化 AI 推理的这种精度。

2023-06-28 15:13:51 456

原创 打包与下载镜像

【代码】打包与下载镜像。

2023-06-13 15:24:37 68

原创 11111111111

def cosine_similarity(vector_a, vector_b):“”"计算两个向量之间的余弦相似度:param vector_a: 向量 a:param vector_b: 向量 b:return: distance“”"vector_a = np.mat(vector_a)vector_b = np.mat(vector_b)num = float(vector_a * vector_b.T)denom = np.linalg.norm(vector_a) * np

2023-06-09 18:05:55 632

原创 beitv3训练自己的数据集

下载处理数据的模型:(https://conversationhub.blob.core.windows.net/beit-share-public/beit3/sentencepiece/beit3.spm)数据集2:(https://cs.stanford.edu/people/karpathy/deepimagesent/caption_datasets.zip)工程:https://github.com/microsoft/unilm。数据集1:Download。

2023-06-09 10:42:23 645 1

原创 tmux常用指令

在tmux session内切换到另一个tmux session:tmux switch -t xxx。kill一个tmux进程:tmux kill-session -t dev。新建并进入窗口:tmux new -s dev。退出窗口:先ctrl+b,松开后再按d。进入窗口:tmux a -t dev。查看所有窗口:tmux ls。

2023-06-02 18:24:08 636

原创 python异步编程async def

使用异步编程,可以同时下载多张图片,但是会比上边的方式少下载一些图片,具体原因还未排查。

2023-06-02 15:21:16 134

原创 大模型训练-PEFT技术简介

参考:https://blog.csdn.net/weixin_44826203/article/details/129733930。

2023-05-31 16:18:34 190

原创 Cross Entropy Loss (CE) -> Balanced Cross Entropy (BCE) -> Focal Loss (FL)

参考:https://blog.csdn.net/BIgHAo1/article/details/121783011。

2023-05-29 17:56:22 119

空空如也

空空如也

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

TA关注的人

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