首页 / 行业
关于YOLOv7.0 版本的分类、检测和分割
2022-08-22 10:31:00
导读 YOLOv5是目前Yolo系列应用非常广的算法,迭代了很多版本,目前已升级到V6.2版本,从原本训练目标检测,到也可训练分类模型,整个算法生态越来越完善,通过本文的梳理,希望对大家学习有帮助。
yolov5-6.2增加了分类训练、验证、预测和导出(所有 11 种格式),还提供了 ImageNet 预训练的 YOLOv5m-cls、ResNet(18、34、50、101) 和 EfficientNet (b0-b3) 模型。
此次发布的主要目标是引入超级简单的 YOLOv5 分类工作流程,就像现有的目标检测模型一样。以下新的 v6.2 YOLOv5-cls 模型只是一个开始,作者将继续与现有的检测模型一起改进这些模型。
下一个版本 v6.3 计划于 9 月发布,将为 YOLOv5 带来官方实例分割支持,今年晚些时候将发布一个主要的 v7.0 版本,更新所有 3 个任务的架构——分类、检测和分割。
1、重要更新
分类模型:TensorFlow、Keras、TFLite、TF.js 模型导出现在使用python export.py --include saved_model pb tflite tfjs完全集成。
ClearML日志记录:与开源实验跟踪器 ClearML 集成。使用 pip install clearml 安装将启用集成并允许用户跟踪在 ClearML 中运行的每个训练。这反过来又允许用户跟踪和比较运行,甚至远程安排运行。
Deci.ai优化:一键自动编译和量化 YOLOv5 以获得更好的推理性能。
GPU导出基准:使用 python utils/benchmarks.py --weights yolov5s.pt --device 0 用于 GPU 基准测试或 --device cpu 用于 CPU 基准测试,对所有 YOLOv5 导出格式进行基准测试(mAP 和速度)。
训练可再现性:使用 torch>=1.12.0 的单 GPU YOLOv5 训练现在完全可再现,并且可以使用新的 --seed 参数(默认种子 = 0)。
Apple Metal Performance Shader (MPS) 支持:通过 --device mps 对 Apple M1/M2 设备的 MPS 支持(完整功能在 pytorch/pytorch#77764 中等待更新)。
2、分类模型与精度
使用 4×A100 在 ImageNet 上训练了 YOLOv5-cls 分类模型 90 个 epoch,并且训练了 ResNet 和 EfficientNet 模型以及相同的默认训练设置进行比较。将所有模型导出到 ONNX FP32 进行 CPU 速度测试,并将所有模型导出到 TensorRT FP16 进行 GPU 速度测试。在 Google Colab Pro 上进行了所有速度测试,以便轻松重现。
3、使用
YOLOv5 分类训练支持使用 --data 参数自动下载 MNIST、Fashion-MNIST、CIFAR10、CIFAR100、Imagenette、Imagewoof 和 ImageNet 数据集。例如,要开始在 MNIST 上进行训练,使用 --data mnist。
train
#Single-GPUpythonclassify/train.py--modelyolov5s-cls.pt--datacifar100--epochs5--img224--batch128#Multi-GPUDDPpython-mtorch.distributed.run--nproc_per_node4--master_port1classify/train.py--modelyolov5s-cls.pt--dataimagenet--epochs5--img224--device0,1,2,3
val
bashdata/scripts/get_imagenet.sh--val#downloadImageNetvalsplit(6.3G,50000images)pythonclassify/val.py--weightsyolov5m-cls.pt--data../datasets/imagenet--img224#validate
test
pythonclassify/predict.py--weightsyolov5s-cls.pt--datadata/images/bus.webp
4、构建形式
分类模型的构建依旧是YOLOv5的风格,加入了分类的head,这里点赞,不怕没有预训练权重了!
classClassificationModel(BaseModel):#YOLOv5classificationmodeldef__init__(self,cfg=None,model=None,nc=1000,cutoff=10):#yaml,model,numberofclasses,cutoffindexsuper().__init__()self._from_detection_model(model,nc,cutoff)ifmodelisnotNoneelseself._from_yaml(cfg)def_from_detection_model(self,model,nc=1000,cutoff=10):#CreateaYOLOv5classificationmodelfromaYOLOv5detectionmodelifisinstance(model,DetectMultiBackend):model=model.model#unwrapDetectMultiBackendmodel.model=model.model[:cutoff]#backbonem=model.model[-1]#lastlayerch=m.conv.in_channelsifhasattr(m,'conv')elsem.cv1.conv.in_channels#chintomodulec=Classify(ch,nc)#Classify()c.i,c.f,c.type=m.i,m.f,'models.common.Classify'#index,from,typemodel.model[-1]=c#replaceself.model=model.modelself.stride=model.strideself.save=[]self.nc=ncdef_from_yaml(self,cfg):#CreateaYOLOv5classificationmodelfroma*.yamlfileself.model=None审核编辑:彭静
最新内容
手机 |
相关内容
芯片迈向系统化时代:EDA软件的创新
芯片迈向系统化时代:EDA软件的创新之路,时代,芯片,形式,支持,性能,验证,芯片设计是现代科技领域的重要组成部分,它涉及到电子设计自动可穿戴传感器能够实现准确的实时检
可穿戴传感器能够实现准确的实时检测,检测,实时,传感器,可穿戴,高精度,数据传输,可穿戴传感器(Wearable Sensors)是一种集成在人体上探秘英伟达显卡的制造之路 | 英伟
探秘英伟达显卡的制造之路 | 英伟达断供GPU,中国大模型何去何从?,英伟达,模型,中国大,显卡,方案,能力,英伟达(NVIDIA)是全球领先的图形什么是超声波液位传感器,超声波液位
什么是超声波液位传感器,超声波液位传感器的组成、特点、原理、分类、常见故障及预防措施,传感器,分类,选择,导致,脉冲,测量,AM26LV3什么是升压变压器,升压变压器的基本
什么是升压变压器,升压变压器的基本结构、主要功能、工作原理、电压、分类、故障分析、日常保养及市场前景,分类,保养,工作原理,故什么是氧气传感器,氧气传感器的组成
什么是氧气传感器,氧气传感器的组成、特点、原理、分类、常见故障及预防措施,氧气传感器,分类,压差,压缩,用于,更换,氧气传感器(Oxyge什么是调试器,调试器的组成、特点、
什么是调试器,调试器的组成、特点、原理、分类、常见故障及预防措施,调试器,分类,执行,调试,开发人员,设置,BA4558F-E2调试器是一种什么是屏蔽触发器,屏蔽触发器的组成
什么是屏蔽触发器,屏蔽触发器的组成、特点、原理、分类、操作规程及发展趋势,触发器,屏蔽,发展趋势,分类,事件,机制,屏蔽触发器(Shiel