YOLOX3.0版本训练

YOLOX3.0版本训练教程

1. 训练配置

  1. 自己git 代码,装环境:YOLOX

  2. 准备VOC数据集,格式如下图
    在这里插入图片描述
    其中VOC2007上面那两个文件夹是自动生成的不用管

  3. 修改exps/example/yolox_voc/yolox_voc_s.py里的类型信息、数据集信息
    在这里插入图片描述
    在这里插入图片描述

  4. 修改 yolox/data/datasets/voc_classes.py的类别,改为自己的类别

  5. 修改yolox/data/datasets/voc.py中的这一行代码
    在这里插入图片描述

6.重新编译:

python setup.py develop

2. 其他

  • 若使用的VOC数据集进行训练,则不能使用wandb作为logger,因为目前官方代码还不支持。会报错'VOCDetection' object has no attribute 'cats
  • 官方代码使用tensorboard 只能绘制mAP曲线,可以自己在 添加代码绘制loss曲线,学习率曲线等。
    在这里插入图片描述
    添加代码如下:
                self.tblogger.add_scalar("lr", self.meter["lr"].latest, self.epoch + 1)
                loss_meter = self.meter.get_filtered_meter("loss")
                for k, v in loss_meter.items():
                    self.tblogger.add_scalar(k, v.latest, self.epoch + 1)
但是注意,这个代码不支持1个epoch验证一次,要从2开始。
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793Windows系统 https://edu.csdn.net/course/detail/30923《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.csdn.net/course/detail/35284       
AssertionError: Caught AssertionError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/jiayucui/anaconda3/envs/fakebaby_py38/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 309, in _worker_loop data = fetcher.fetch(index) # type: ignore[possibly-undefined] File "/home/jiayucui/anaconda3/envs/fakebaby_py38/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 52, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/jiayucui/anaconda3/envs/fakebaby_py38/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 52, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/data/datasets/datasets_wrapper.py", line 110, in wrapper ret_val = getitem_fn(self, index) File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/data/datasets/mosaicdetection.py", line 158, in __getitem__ img, label, img_info, img_id = self._dataset.pull_item(idx) File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/data/datasets/coco_hand.py", line 206, in pull_item img = self.load_resized_img(index) File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/data/datasets/coco_hand.py", line 179, in load_resized_img img = self.load_image(index) File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/data/datasets/coco_hand.py", line 194, in load_image assert img is not None, f"file named {img_file} not found" AssertionError: file named /home/jiayucui/work/Project/fakebaby_detection/data/images/56076152.jpg not found
09-09
2025-09-08 15:07:31 | ERROR | yolox.core.launch:98 - An error has been caught in function &#39;launch&#39;, process &#39;MainProcess&#39; (427841), thread &#39;MainThread&#39; (140406310553408): Traceback (most recent call last): File "/home/jiayucui/anaconda3/envs/fakebaby_py38/lib/python3.8/runpy.py", line 192, in _run_module_as_main return _run_code(code, main_globals, None, │ │ └ {&#39;__name__&#39;: &#39;__main__&#39;, &#39;__doc__&#39;: None, &#39;__package__&#39;: &#39;yolox.tools&#39;, &#39;__loader__&#39;: <_frozen_importlib_external.SourceFileL... │ └ <code object <module> at 0x7fb2e30cba80, file "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/tools/train.py",... └ <function _run_code at 0x7fb2e3127430> File "/home/jiayucui/anaconda3/envs/fakebaby_py38/lib/python3.8/runpy.py", line 85, in _run_code exec(code, run_globals) │ └ {&#39;__name__&#39;: &#39;__main__&#39;, &#39;__doc__&#39;: None, &#39;__package__&#39;: &#39;yolox.tools&#39;, &#39;__loader__&#39;: <_frozen_importlib_external.SourceFileL... └ <code object <module> at 0x7fb2e30cba80, file "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/tools/train.py",... File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/tools/train.py", line 133, in <module> launch( └ <function launch at 0x7fb2083b93a0> > File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/core/launch.py", line 98, in launch main_func(*args) │ └ (╒═══════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════════════... └ <function main at 0x7fb1f06adf70> File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/tools/train.py", line 117, in main trainer.train() │ └ <function Trainer.train at 0x7fb1f030a940> └ <yolox.core.trainer.Trainer object at 0x7fb1f0314970> File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/core/trainer.py", line 74, in train self.before_train() │ └ <function Trainer.before_train at 0x7fb1f03101f0> └ <yolox.core.trainer.Trainer object at 0x7fb1f0314970> File "/home/jiayucui/work/Project/fakebaby_detection/model/yolox3.0/yolox/core/trainer.py", line 149, in before_train self.train_loader = self.exp.get_data_loader( │ │ │ └ <function Exp.get_data_loader at 0x7fb1f0310c10> │ │ └ ╒═══════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════════... │ └ <yolox.core.trainer.Trainer object at 0x7fb1f0314970> └ <yolox.core.trainer.Trainer object at 0x7fb1f0314970> File "exps/example/custom/yolox_tiny_fakebaby0102_288x512.py", line 127, in get_data_loader dataset = COCOHandDataset( └ <class &#39;yolox.data.datasets.coco_hand.COCOHandDataset&#39;> TypeError: COCOHandDataset() takes no arguments
09-09
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值