YOLOX项目源码结构拆解

简介: YOLOX项目源码结构拆解本篇博文主要对YOLOX官方源码的项目结构进行拆解项目地址:https://github.com/Megvii-BaseDetection/YOLOX论文地址:https://arxiv.org/abs/2107.08430

YOLOX简介


‎YOLOX是一个anchor-free 版本的‎‎YOLO,设计更简单,但性能更好

62d9978832794f74bff23ed1e692170a.png

左侧图代表模型的速度-精度权衡

右侧图代表在移动设备上的精简版模型的尺寸-精度曲线

项目环境


#直接pip就好了
pip install -r requirements

项目结构


项目的整体代码结构就是这样子的

YOLOX-MAIN
├─assets
├─datasets
├─demo
│  ├─MegEngine
│  │  ├─cpp
│  │  └─python
│  │      └─models
│  ├─ncnn
│  │  ├─android
│  │  │  ├─app
│  │  │  │  └─src
│  │  │  │      └─main
│  │  │  │          ├─assets
│  │  │  │          ├─java
│  │  │  │          │  └─com
│  │  │  │          │      └─megvii
│  │  │  │          │          └─yoloXncnn
│  │  │  │          ├─jni
│  │  │  │          └─res
│  │  │  │              ├─layout
│  │  │  │              └─values
│  │  │  └─gradle
│  │  │      └─wrapper
│  │  └─cpp
│  ├─ONNXRuntime
│  ├─OpenVINO
│  │  ├─cpp
│  │  └─python
│  └─TensorRT
│      ├─cpp
│      └─python
├─docs
│  ├─demo
│  └─_static
│      └─css
├─exps
│  ├─default
│  └─example
│      ├─custom
│      └─yolox_voc
├─tests
│  └─utils
├─tools
└─yolox
    ├─core
    ├─data
    │  └─datasets
    ├─evaluators
    ├─exp
    │  └─default
    ├─layers
    │  └─cocoeval
    ├─models
    ├─tools
    └─utils

image.png

1. assets


image.png

这个文件夹就是存放一些项目里用到的图片的

2. datasets


image.png

这个文件夹就是存放你数据集的文件夹

我这里顺便放上COCO数据集的下载地址https://cocodataset.org

3. demo


image.png

这个文件夹是用来存放一些部署用到的文件的,里面提供了C、Python、android版本

4. doc


image.png

这个文件夹里面放了各种的md文件,md文件内容包括安装、训练、验证、模型的参数、训练尺度的选择、更新日志等

5. exps


image.png

这个文件夹里放置不同尺寸模型的配置文件,yolos\m\l\x最主要的区别就是模型深度和宽度差别

image.png

example文件夹里面也给出了一些例子,除了深度宽度以外还有数据集类别,预热参数和数据增强等信息

image.png

6. tests


image.png

这个就是用来测试模型的文件,运行后就可以显示测试结果

ead018c129444979b3d66eefb4f87ae9.png

7. tools


image.png

这文件夹里面就是一些常用的工具,包括训练、验证、模型转换等

8. yolox


image.png

8.1 core


image.png

就是一些加载用到的文件

8.2 data


image.png

里面主要是处理数据和对数据进行增强的文件

8.3 evaluators


image.png

主要是模型评估验证时用到的一些文件

8.4 exp


image.png

8.5 layers


image.png

这放了一些对COCO数据集快速验证的api文件

8.6 models


image.png

模型的主要结构代码,主要包括backbone、loss、fpn等

8.7 tools


image.png

用于安装包的一个工具文件

8.8 utils


image.png

这里面就是放一些工具文件

测试一下

介绍完结构以后我们可以通过如下指令来测试一下项目

python tools/demo.py image -f exps/default/yolox_s.py -c yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu

视频测试指令:(注意更改路径)

python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]

如果没问题就会在根目录下生成如下的文件夹6e914dfbd5b443e1b4abef8d36ca74c7.png

image.png

image.png

Q1:No module named yolox

A:在demo.py的from yolox.data.data_augment import ValTransform上加入如下代码,路径要改成自己的路径

import sys
sys.path.append(r'D:\Pycharm_Projects\YOLOX-main')
相关文章
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
8月前
|
监控 算法 API
电商API接口对接实录:淘宝优惠券接口对接处理促销监控系统
在电商开发中,淘宝详情页的“券后价计算”是极易出错的环节。本文作者结合实战经验,分享了因忽略满减券门槛、有效期、适用范围等导致的踩坑经历,并提供了完整的解决方案,包括淘宝API签名生成、券后价计算逻辑、常见坑点及优化建议,助力开发者精准实现券后价功能,避免业务损失。
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
机器学习/深度学习 人工智能 自然语言处理
VideoGrain:零样本多粒度视频编辑神器,用AI完成换装改场景,精准控制每一帧!
VideoGrain 是悉尼科技大学和浙江大学推出的零样本多粒度视频编辑框架,基于调节时空交叉注意力和自注意力机制,实现类别级、实例级和部件级的精细视频修改,保持时间一致性,显著优于现有方法。
654 0
VideoGrain:零样本多粒度视频编辑神器,用AI完成换装改场景,精准控制每一帧!
|
前端开发 Android开发 iOS开发
探索Android与iOS的跨平台开发策略
在移动应用开发的多元化时代,跨平台开发已成为开发者追求效率和广泛覆盖的重要手段。本文深入探讨了Android与iOS两大主流平台下的跨平台开发策略,分析了各自的优势与挑战,并通过实际案例展示了如何有效实施跨平台解决方案,以期为开发者提供有价值的参考和启示。
|
机器学习/深度学习
一些关于Yolov5的改进点及实验结果(新增YOLOv5网络结构图)
一些关于Yolov5的改进点及实验结果(新增YOLOv5网络结构图)
一些关于Yolov5的改进点及实验结果(新增YOLOv5网络结构图)
|
传感器 编解码 数据可视化
costmap_common_params.yaml参数解析和修改要点
costmap_common_params.yaml参数解析和修改要点
2089 1
|
Kubernetes Java API
软件版本号解读(语义化SemVer、日历化CalVer及标识符)
软件版本号解读(语义化SemVer、日历化CalVer及标识符)
575 3
软件版本号解读(语义化SemVer、日历化CalVer及标识符)
|
机器学习/深度学习 算法 数据可视化
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例

热门文章

最新文章

下一篇
开通oss服务