YOLOX官方源码文件结构和注释
Yolox的论文及代码Yolox论文名:《YOLOX: Exceeding YOLO Series in 2021》Yolox论文地址:https://arxiv.org/abs/2107.08430Yolox代码地址:https://github.com/Megvii-BaseDetection/YOLOX源码的文件结构和注释(加粗部分是重点文件,应详细分析):YOLOX-main:.│.git
Yolox的论文及代码
Yolox论文名:《YOLOX: Exceeding YOLO Series in 2021》
Yolox论文地址:https://arxiv.org/abs/2107.08430
源码的文件结构和注释(加粗部分是重点文件,应详细分析):
YOLOX-main:.
│ .gitignore
│ .readthedocs.yaml
│ hubconf.py
│ LICENSE
│ README.md
│ requirements.txt
│ setup.cfg
│ setup.py
│ yolox_s.pth
│
│
├─assets
:里面图片是doc或者demo要用的,这个文件不用管它,
│
├─build
:应该是用来部署或者封装的吧?一般不用动这个文件夹,里面的文件我就不展开了。
│
├─datasets
:自己的训练集放在这个文件夹下面
│
├─demo
:demo文件,一般不要动他。里面的文件我就不展开了。
│
├─dist
│ yolox-0.2.0-py3.7-win-amd64.egg
│ yolox-0.2.0-py3.8-win-amd64.egg
│
├─docs
│ │ .gitignore
│ │ conf.py
│ │ freeze_module.md
:指导用户在YOLOX中冻结模块。
│ │ index.rst
│ │ Makefile
│ │ manipulate_training_image_size.md
:介绍了如何在对自己的数据进行训练时控制图像大小。
│ │ model_zoo.md
:介绍了各种标准模型。
│ │ quick_run.md
:介绍了代码的使用操作
│ │ requirements-doc
.txt
│ │ train_custom_data.md
:介绍如何使用YOLOX训练您自己的自定义数据。我们以VOC数据集上微调YOLOX-S模型为例,给出了更清晰的指导。
│ │ updates_note.md
:讲了对代码的更新。比如:支持图像缓存以加快培训速度,这需要较大的系统RAM。消除对apex的依赖,支持torch放大器培训。优化预处理以加快训练速度用新的HSV aug替换旧的扭曲增强,以实现更快的训练和更好的性能。
│ │
│ ├─demo
│ │ megengine_cpp_readme.md
│ │ megengine_py_readme.md
│ │ ncnn_android_readme.md
│ │ ncnn_cpp_readme.md
│ │ onnx_readme.md
│ │ openvino_cpp_readme.md
│ │ openvino_py_readme.md
│ │ trt_cpp_readme.md
│ │ trt_py_readme.md
│ │
│ └─_static
│ └─css
│ custom.css
│
├─exps
│ │
│ ├─default
:各种model的配置文件
│ │ │ yolov3.py
│ │ │ yolox_l.py
│ │ │ yolox_m.py
│ │ │ yolox_nano.py
│ │ │ yolox_s.py
│ │ │ yolox_tiny.py
│ │ │ yolox_x.py
│ │ │ __init__.py
│ │ │
│ │ └─__pycache__
│ │ yolox_s.cpython-38.pyc
│ │
│ └─example
│ ├─custom
│ │ nano.py
│ │ yolox_s.py
│ │
│ └─yolox_voc
│ yolox_voc_s.py
│
├─tests
│ │ __init__.py
│ │
│ └─utils
│ test_model_utils.py
│
├─tools
│ demo.py
│ eval.py
│ export_onnx.py
│ export_torchscript.py
│ train.py
│ trt.py
│ __init__.py
│
├─yolox
│ │ __init__.py
│ │
│ ├─core
:一些加载文件
│ │ launch.py
│ │ trainer.py
│ │ __init__.py
│ │
│ ├─data
│ │ │ dataloading.py
:该模块进行数据加载,获取数据集的文件
│ │ │ data_augment.py
:模块进行相关数据处理,包含hsv等一些数据增强方法
│ │ │ data_prefetcher.py
:加快pytorch的数据加载
│ │ │ samplers.py
:该模块进行抽样,批取样器,将从另一个取样器生成(马赛克,索引)元组的小批
│ │ │ __init__.py
│ │ │
│ │ └─datasets
:数据处理
│ │ coco.py
:coco数据集的初始化、进行数据读取
│ │ coco_classes.py
:coco数据集的类别
│ │ datasets_wrapper.py
:将处理后的数据集,进行整理和封装
│ │ mosaicdetection.py
:进行马赛克操作,实现数据增强
│ │ voc.py
:voc数据集的初始化、进行数据读取
│ │ voc_classes.py
:voc数据集的类别
│ │ __init__.py
│ │
│ ├─evaluators
:测评
│ │ coco_evaluator.py
│ │ voc_eval.py
│ │ voc_evaluator.py
│ │ __init__.py
│ │
│ ├─exp
:./exps/default中的模型配置使用这些组件组成不同的model
│ │ │ base_exp.py
:任何experiment的基类
│ │ │ build.py
:通过名字或地址构建experiment
│ │ │ yolox_base.py:Exp类,./exps/default中的模型配置基于这个类来构建完整的model
│ │ │ __init__.py
│ │ │
│ │ └─default
│ │ __init__.py
│ │
│ ├─layers
│ │ │ fast_coco_eval_api.py
:改进的COCO PythonAPI
│ │ │ __init__.py
│ │ │
│ │ └─csrc
│ │ │ vision.cpp
│ │ │
│ │ └─cocoeval
│ │ cocoeval.cpp
│ │ cocoeval.h
│ │
│ ├─models
:用来定义yolox的baseline、neck和head。
│ │ build.py
:通过名字或地址构建yolox模型
│ │ darknet.py
:构建darknet的dark2到dark5
│ │ losses.py
:iou的loss函数
│ │ network_blocks.py
:封装SiLU损失函数和各种最基础的layers
│ │ yolox.py
:由create_yolov3_modules函数定义的yolox模块,返回三个YOLO层的损失值,并在测试期间返回检测结果
│ │ yolo_fpn.py
:封装的FPN,默认用darknet53作为baseline
│ │ yolo_head.py
:预测层,本模块有三个操作:decoupled head,Multi positives,SimOTA
│ │ yolo_pafpn.py
:封装的PAFPN,这是另一个主干网络,backbone-YOLOPAFPN。PA指的是PANet的结构,FPN指的是特征金字塔结构。
│ │ __init__.py
│ │
│ ├─tools
│ │ __init__.py
│ │
│ └─utils
:工具代码
│ allreduce_norm.py
│ boxes.py
│ checkpoint.py
│ compat.py
│ demo_utils.py
│ dist.py
│ ema.py
│ logger.py
│ lr_scheduler.py
│ metric.py
│ model_utils.py
│ setup_env.py
│ visualize.py
│ __init__.py
│
├─yolox.egg-info
│ dependency_links.txt
│ PKG-INFO
│ requires.txt
│ SOURCES.txt
│ top_level.txt
│
└─YOLOX_outputs
:模型的results保存在这里
更多推荐
所有评论(0)