mirror of https://github.com/open-mmlab/mmyolo.git
Add changelog of v0.1.2 (#226)
* Add changelog of v0.1.2 * update version * fix comments * fix comments * update * update version * update versionpull/249/head
parent
f045ecf213
commit
8fc8066b1b
|
@ -66,7 +66,7 @@ jobs:
|
|||
name: Install mmyolo dependencies
|
||||
command: |
|
||||
pip install -U openmim
|
||||
mim install 'mmengine >= 0.2.0'
|
||||
mim install 'mmengine >= 0.3.0'
|
||||
mim install 'mmcv >= 2.0.0rc1'
|
||||
pip install git+https://github.com/open-mmlab/mmdetection.git@dev-3.x
|
||||
pip install -r requirements/albu.txt
|
||||
|
@ -124,7 +124,7 @@ jobs:
|
|||
name: Install mmyolo dependencies
|
||||
command: |
|
||||
docker exec mmyolo pip install -U openmim
|
||||
docker exec mmyolo mim install 'mmengine >= 0.2.0'
|
||||
docker exec mmyolo mim install 'mmengine >= 0.3.0'
|
||||
docker exec mmyolo mim install 'mmcv >= 2.0.0rc1'
|
||||
docker exec mmyolo pip install -e /mmdetection
|
||||
docker exec mmyolo pip install -r requirements/albu.txt
|
||||
|
|
29
README.md
29
README.md
|
@ -69,10 +69,14 @@ The master branch works with **PyTorch 1.6+**.
|
|||
|
||||
## What's New
|
||||
|
||||
**v0.1.1** was released on 29/9/2022:
|
||||
💎 **v0.1.2** was released on 3/11/2022:
|
||||
|
||||
- Support [RTMDet](https://github.com/open-mmlab/mmyolo/blob/main/configs/rtmdet).
|
||||
- Support for backbone customization plugins and update How-to documentation.
|
||||
1. Support [YOLOv5/YOLOv6/YOLOX/RTMDet deployments](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy) for ONNXRuntime and TensorRT
|
||||
2. Support [YOLOv6](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov6) s/t/n model training
|
||||
3. YOLOv5 supports [P6 model training which can input 1280-scale images](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5)
|
||||
4. YOLOv5 supports [VOC dataset training](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5/voc)
|
||||
5. Support [PPYOLOE](https://github.com/open-mmlab/mmyolo/blob/main/configs/ppyoloe) and [YOLOv7](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov7) model inference and official weight conversion
|
||||
6. Add YOLOv5 replacement [backbone tutorial](https://github.com/open-mmlab/mmyolo/blob/dev/docs/en/advanced_guides/how_to.md#use-backbone-network-implemented-in-other-openmmlab-repositories) in How-to documentation
|
||||
|
||||
For release history and update details, please refer to [changelog](https://mmyolo.readthedocs.io/en/latest/notes/changelog.html).
|
||||
|
||||
|
@ -84,7 +88,7 @@ MMYOLO relies on PyTorch, MMCV, MMEngine, and MMDetection. Below are quick steps
|
|||
conda create -n open-mmlab python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
|
||||
conda activate open-mmlab
|
||||
pip install openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc2,<3.1.0"
|
||||
git clone https://github.com/open-mmlab/mmyolo.git
|
||||
|
@ -107,7 +111,7 @@ For different parts from MMDetection, we have also prepared user guides and adva
|
|||
|
||||
- [Train & Test](https://mmyolo.readthedocs.io/en/latest/user_guides/index.html#train-test)
|
||||
- [Learn about Configs with YOLOv5](docs/en/user_guides/config.md)
|
||||
- [From getting started to deployment](https://mmyolo.readthedocs.io/zh_CN/latest/user_guides/index.html#get-started-to-deployment)
|
||||
- [From getting started to deployment](https://mmyolo.readthedocs.io/en/latest/user_guides/index.html#get-started-to-deployment)
|
||||
- [From getting started to deployment with YOLOv5](docs/en/user_guides/yolov5_tutorial.md)
|
||||
- [Useful Tools](https://mmdetection.readthedocs.io/en/latest/user_guides/index.html#useful-tools)
|
||||
- [Visualization](docs/en/user_guides/visualization.md)
|
||||
|
@ -115,11 +119,18 @@ For different parts from MMDetection, we have also prepared user guides and adva
|
|||
|
||||
- Algorithm description
|
||||
|
||||
- [Essential Basics](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#essential-basics)
|
||||
- [Essential Basics](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#essential-basics)
|
||||
- [Model design-related instructions](docs/en/algorithm_descriptions/model_design.md)
|
||||
- [Algorithm principles and implementation](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#algorithm-principles-and-implementation)
|
||||
- [Algorithm principles and implementation](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#algorithm-principles-and-implementation)
|
||||
- [Algorithm principles and implementation with YOLOv5](docs/en/algorithm_descriptions/yolov5_description.md)
|
||||
|
||||
- Deployment Guides
|
||||
|
||||
- [Basic Deployment Guide](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#basic-deployment-guide)
|
||||
- [Basic Deployment Guide](docs/en/deploy/basic_deployment_guide.md)
|
||||
- [Deployment Tutorial](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#deployment-tutorial)
|
||||
- [YOLOv5 Deployment](docs/en/deploy/yolov5_deployment.md)
|
||||
|
||||
- Advanced Guides
|
||||
|
||||
- [Data flow](docs/en/advanced_guides/data_flow.md)
|
||||
|
@ -135,7 +146,9 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
|
|||
- [x] [YOLOv5](configs/yolov5)
|
||||
- [x] [YOLOX](configs/yolox)
|
||||
- [x] [RTMDet](configs/rtmdet)
|
||||
- [ ] [YOLOv6](configs/yolov6)(Inference only)
|
||||
- [x] [YOLOv6](configs/yolov6)
|
||||
- [ ] [PPYOLOE](configs/ppyoloe)(Inference only)
|
||||
- [ ] [YOLOv7](configs/yolov7)(Inference only)
|
||||
|
||||
</details>
|
||||
|
||||
|
|
|
@ -69,11 +69,23 @@ MMYOLO 是一个基于 PyTorch 和 MMDetection 的 YOLO 系列算法开源工具
|
|||
|
||||
## 最新进展
|
||||
|
||||
**v0.1.1** 版本已经在 2022.9.29 发布:
|
||||
💎 **v0.1.2** 版本已经在 2022.11.3 发布:
|
||||
|
||||
- 支持了 [RTMDet](https://github.com/open-mmlab/mmyolo/blob/main/configs/rtmdet)
|
||||
- 新增了 [RTMDet 原理和实现全解析中文文档](https://github.com/open-mmlab/mmyolo/blob/main/docs/zh_cn/algorithm_descriptions/rtmdet_description.md)
|
||||
- 支持对 backbone 自定义插件,并且更新了 How-to 文档
|
||||
1. 支持 ONNXRuntime 和 TensorRT 的 [YOLOv5/YOLOv6/YOLOX/RTMDet 部署](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy)
|
||||
2. 支持 [YOLOv6](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov6) s/t/n 模型训练
|
||||
3. YOLOv5 支持 [P6 大分辨率 1280 尺度训练](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5)
|
||||
4. YOLOv5 支持 [VOC 数据集训练](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5/voc)
|
||||
5. 支持 [PPYOLOE](https://github.com/open-mmlab/mmyolo/blob/main/configs/ppyoloe) 和 [YOLOv7](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov7) 模型推理和官方权重转化
|
||||
6. How-to 文档中新增 YOLOv5 替换 [backbone 教程](https://github.com/open-mmlab/mmyolo/blob/dev/docs/zh_cn/advanced_guides/how_to.md#%E8%B7%A8%E5%BA%93%E4%BD%BF%E7%94%A8%E4%B8%BB%E5%B9%B2%E7%BD%91%E7%BB%9C)
|
||||
|
||||
同时我们也推出了解读视频:
|
||||
|
||||
| | 内容 | 视频 | 课程中的代码 |
|
||||
| :-: | :------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||
| 🌟 | 特征图可视化 | [](https://www.bilibili.com/video/BV188411s7o8) [](https://www.bilibili.com/video/BV188411s7o8) | [特征图可视化.ipynb](https://github.com/open-mmlab/OpenMMLabCourse/blob/main/codes/MMYOLO_tutorials/%5B%E5%B7%A5%E5%85%B7%E7%B1%BB%E7%AC%AC%E4%B8%80%E6%9C%9F%5D%E7%89%B9%E5%BE%81%E5%9B%BE%E5%8F%AF%E8%A7%86%E5%8C%96.ipynb) |
|
||||
| 🌟 | 特征图可视化 Demo | [](https://www.bilibili.com/video/BV1je4y1478R/) [](https://www.bilibili.com/video/BV1je4y1478R/) | |
|
||||
| 🌟 | 配置全解读 | [](https://www.bilibili.com/video/BV1214y157ck) [](https://www.bilibili.com/video/BV1214y157ck) | [配置全解读文档](https://zhuanlan.zhihu.com/p/577715188) |
|
||||
| 🌟 | 源码阅读和调试「必备」技巧 | [](https://www.bilibili.com/video/BV1N14y1V7mB) [](https://www.bilibili.com/video/BV1N14y1V7mB) | |
|
||||
|
||||
发布历史和更新细节请参考 [更新日志](https://mmyolo.readthedocs.io/zh_CN/latest/notes/changelog.html)
|
||||
|
||||
|
@ -85,7 +97,7 @@ MMYOLO 依赖 PyTorch, MMCV, MMEngine 和 MMDetection,以下是安装的简要
|
|||
conda create -n open-mmlab python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
|
||||
conda activate open-mmlab
|
||||
pip install openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc2,<3.1.0"
|
||||
git clone https://github.com/open-mmlab/mmyolo.git
|
||||
|
@ -122,6 +134,13 @@ MMYOLO 用法和 MMDetection 几乎一致,所有教程都是通用的,你也
|
|||
- [YOLOv5 原理和实现全解析](docs/zh_cn/algorithm_descriptions/yolov5_description.md)
|
||||
- [RTMDet 原理和实现全解析](docs/zh_cn/algorithm_descriptions/rtmdet_description.md)
|
||||
|
||||
- 算法部署
|
||||
|
||||
- [部署必备教程](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#部署必备教程)
|
||||
- [部署必备教程](docs/zh_cn/deploy/basic_deployment_guide.md)
|
||||
- [部署全流程说明](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#部署全流程说明)
|
||||
- [YOLOv5 部署全流程说明](docs/zh_cn/deploy/yolov5_deployment.md)
|
||||
|
||||
- 进阶指南
|
||||
|
||||
- [数据流](docs/zh_cn/advanced_guides/data_flow.md)
|
||||
|
@ -139,7 +158,9 @@ MMYOLO 用法和 MMDetection 几乎一致,所有教程都是通用的,你也
|
|||
- [x] [YOLOv5](configs/yolov5)
|
||||
- [x] [YOLOX](configs/yolox)
|
||||
- [x] [RTMDet](configs/rtmdet)
|
||||
- [ ] [YOLOv6](configs/yolov6)(仅推理)
|
||||
- [x] [YOLOv6](configs/yolov6)
|
||||
- [ ] [PPYOLOE](configs/ppyoloe)(仅推理)
|
||||
- [ ] [YOLOv7](configs/yolov7)(仅推理)
|
||||
|
||||
</details>
|
||||
|
||||
|
|
|
@ -9,8 +9,14 @@ model = dict(
|
|||
backbone=dict(
|
||||
deepen_factor=deepen_factor,
|
||||
widen_factor=widen_factor,
|
||||
# Since the checkpoint includes CUDA:0 data,
|
||||
# it must be forced to set map_location.
|
||||
# Once checkpoint is fixed, it can be removed.
|
||||
init_cfg=dict(
|
||||
type='Pretrained', prefix='backbone.', checkpoint=checkpoint)),
|
||||
type='Pretrained',
|
||||
prefix='backbone.',
|
||||
checkpoint=checkpoint,
|
||||
map_location='cpu')),
|
||||
neck=dict(
|
||||
deepen_factor=deepen_factor,
|
||||
widen_factor=widen_factor,
|
||||
|
|
|
@ -26,7 +26,7 @@ RUN apt-get update \
|
|||
|
||||
# Install MMEngine , MMCV and MMDet
|
||||
RUN pip install --no-cache-dir openmim && \
|
||||
mim install --no-cache-dir "mmengine>=0.2.0" "mmcv>=2.0.0rc1,<2.1.0" "mmdet>=3.0.0rc2,<3.1.0"
|
||||
mim install --no-cache-dir "mmengine>=0.3.0" "mmcv>=2.0.0rc1,<2.1.0" "mmdet>=3.0.0rc2,<3.1.0"
|
||||
|
||||
# Install MMYOLO
|
||||
RUN git clone https://github.com/open-mmlab/mmyolo.git /mmyolo && \
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
# Basic Deployment Guide
|
|
@ -0,0 +1,16 @@
|
|||
Basic Deployment Guide
|
||||
************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
basic_deployment_guide.md
|
||||
|
||||
|
||||
Deployment tutorial
|
||||
************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
yolov5_deployment.md
|
|
@ -0,0 +1 @@
|
|||
# YOLOv5 Deployment
|
|
@ -6,8 +6,8 @@ Compatible MMEngine, MMCV and MMDetection versions are shown as below. Please in
|
|||
|
||||
| MMYOLO version | MMDetection version | MMEngine version | MMCV version |
|
||||
| :------------: | :----------------------: | :----------------------: | :---------------------: |
|
||||
| main | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.2.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.2 | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.2.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| main | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.3.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.2 | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.3.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.1 | mmdet==3.0.0rc1 | mmengine>=0.1.0, \<0.2.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.0 | mmdet==3.0.0rc0 | mmengine>=0.1.0, \<0.2.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
|
||||
|
@ -50,9 +50,9 @@ conda install pytorch torchvision cpuonly -c pytorch
|
|||
|
||||
```shell
|
||||
pip install -U openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc1,<3.1.0"
|
||||
mim install "mmdet>=3.0.0rc2,<3.1.0"
|
||||
```
|
||||
|
||||
**Note:**
|
||||
|
@ -156,7 +156,7 @@ To install MMEngine with pip instead of MIM, please follow \[MMEngine installati
|
|||
For example, you can install MMEngine by the following command.
|
||||
|
||||
```shell
|
||||
pip install "mmengine>=0.2.0"
|
||||
pip install "mmengine>=0.3.0"
|
||||
```
|
||||
|
||||
#### Install MMCV without MIM
|
||||
|
|
|
@ -26,6 +26,12 @@ Welcome to MMYOLO's documentation!
|
|||
|
||||
advanced_guides/index.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Deployment Guides
|
||||
|
||||
deploy/index.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: API Reference
|
||||
|
|
|
@ -1,5 +1,53 @@
|
|||
# Changelog
|
||||
|
||||
## v0.1.2(3/11/2022)
|
||||
|
||||
### Highlights
|
||||
|
||||
1. Support [YOLOv5/YOLOv6/YOLOX/RTMDet deployments](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy) for ONNXRuntime and TensorRT
|
||||
2. Support [YOLOv6](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov6) s/t/n model training
|
||||
3. YOLOv5 supports [P6 model training which can input 1280-scale images](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5)
|
||||
4. YOLOv5 supports [VOC dataset training](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5/voc)
|
||||
5. Support [PPYOLOE](https://github.com/open-mmlab/mmyolo/blob/main/configs/ppyoloe) and [YOLOv7](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov7) model inference and official weight conversion
|
||||
6. Add YOLOv5 replacement [backbone tutorial](https://github.com/open-mmlab/mmyolo/blob/dev/docs/en/advanced_guides/how_to.md#use-backbone-network-implemented-in-other-openmmlab-repositories) in How-to documentation
|
||||
|
||||
### New Features
|
||||
|
||||
1. Add `optimize_anchors` script (#175)
|
||||
2. Add `extract_subcoco` script (#186)
|
||||
3. Add `yolo2coco` conversion script (#161)
|
||||
4. Add `dataset_analysis` script (#172)
|
||||
5. Remove Albu version restrictions (#187)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
1. Fix the problem that `cfg.resume` does not work when set (#221)
|
||||
2. Fix the problem of not showing bbox in feature map visualization script (#204)
|
||||
3. uUpdate the metafile of RTMDet (#188)
|
||||
4. Fix a visualization error in `test_pipeline` (#166)
|
||||
5. Update badges (#140)
|
||||
|
||||
### Improvements
|
||||
|
||||
1. Optimize Readthedoc display page (#209)
|
||||
2. Add docstring for module structure diagram for base model (#196)
|
||||
3. Support for not including any instance logic in LoadAnnotations (#161)
|
||||
4. Update `image_demo` script to support folder and url paths (#128)
|
||||
5. Update pre-commit hook (#129)
|
||||
|
||||
### Documentation
|
||||
|
||||
1. Translate `yolov5_description.md`, `yolov5_tutorial.md` and `visualization.md` into English (#138, #198, #206)
|
||||
2. Add deployment-related Chinese documentation (#220)
|
||||
3. Update `config.md`, `faq.md` and `pull_request_template.md` (#190, #191, #200)
|
||||
4. Update the `article` page (#133)
|
||||
|
||||
#### Contributors
|
||||
|
||||
A total of 14 developers contributed to this release.
|
||||
|
||||
Thank @imAzhou, @triple-Mu, @RangeKing, @PeterH0323, @xin-li-67, @Nioolek, @kitecats, @Bin-ze, @JiayuXu0, @cydiachen, @zhiqwang, @Zheng-LinXiao, @hhaAndroid, @wanghonglie
|
||||
|
||||
## v0.1.1(29/9/2022)
|
||||
|
||||
Based on MMDetection's RTMDet high precision and low latency object detection algorithm, we have also released RTMDet and provided a Chinese document on the principle and implementation of RTMDet.
|
||||
|
|
|
@ -44,7 +44,12 @@ The detailed instruction of MMYOLO is as follows.
|
|||
- [Essential Basics](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#essential-basics)
|
||||
- [A full explanation of the model and implementation](https://mmyolo.readthedocs.io/en/latest/algorithm_descriptions/index.html#algorithm-principles-and-implementation)
|
||||
|
||||
4. Refer to the following tutorials for an in-depth look:
|
||||
4. YOLO series of Deploy tutorials
|
||||
|
||||
- [Basic Deployment Guide](https://mmyolo.readthedocs.io/en/latest/deploy/index.html#basic-deployment-guide)
|
||||
- [Deployment Tutorial](https://mmyolo.readthedocs.io/en/latest/deploy/index.html#deployment-tutorial)
|
||||
|
||||
5. Refer to the following tutorials for an in-depth look:
|
||||
|
||||
- [Data flow](https://mmyolo.readthedocs.io/en/latest/advanced_guides/index.html#data-flow)
|
||||
- [How to](https://mmyolo.readthedocs.io/en/latest/advanced_guides/index.html#how-to)
|
||||
|
|
|
@ -10,7 +10,7 @@ conda activate open-mmlab
|
|||
conda install pytorch torchvision -c pytorch
|
||||
# conda install pytorch torchvision cpuonly -c pytorch
|
||||
pip install -U openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc2,<3.1.0"
|
||||
git clone https://github.com/open-mmlab/mmyolo.git
|
||||
|
@ -126,11 +126,9 @@ wget https://download.openmmlab.com/mmyolo/v0/yolov5/yolov5_s-v61_syncbn_fast_8x
|
|||
```shell
|
||||
cd mmyolo
|
||||
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' custom_hooks=None
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth'
|
||||
```
|
||||
|
||||
Note: Ideally, the `strict_load` initialization parameter of `EMAHook` should be set to `False` during the fine-tuning phase, which makes the command `custom_hooks.0.strict_load=False`. However, because MMEngine v0.1.0 is the initial development version, there will be problems with this setting right now. Therefore, for the time being, you can only use the command `custom_hooks=None` to turn off `custom_hooks` to load the pre-training weights correctly. This issue is expected to be fixed in the next release.
|
||||
|
||||
3. Freeze backbone to train
|
||||
|
||||
Freeze the four backbone stages by setting `model.backbone.frozen_stages=4` in the config file or from the command line.
|
||||
|
@ -139,7 +137,7 @@ Freeze the four backbone stages by setting `model.backbone.frozen_stages=4` in t
|
|||
# Set model.backbone.frozen_stages=4 from the command line
|
||||
cd mmyolo
|
||||
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' model.backbone.frozen_stages=4 custom_hooks=None
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' model.backbone.frozen_stages=4
|
||||
```
|
||||
|
||||
### Visualization
|
||||
|
@ -220,16 +218,6 @@ tensorboard --logdir=work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon
|
|||
|
||||
## Model Testing
|
||||
|
||||
If you set `custom_hooks=None` during training, you still need to set `custom_hooks=None` during model testing as well.
|
||||
|
||||
```shell
|
||||
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon/epoch_300.pth \
|
||||
--show-dir show_results --cfg-options custom_hooks=None
|
||||
```
|
||||
|
||||
If you don't set `custom_hooks=None` during training, the test command should be as follows:
|
||||
|
||||
```shell
|
||||
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon/epoch_300.pth \
|
||||
|
@ -244,4 +232,4 @@ Run the above command, the inference result picture will be automatically saved
|
|||
|
||||
## Model Deployment
|
||||
|
||||
Under development...
|
||||
Please refer to [this](../deploy/yolov5_deployment.md)
|
||||
|
|
|
@ -27,6 +27,10 @@
|
|||
|
||||
#### 实用类
|
||||
|
||||
| | 内容 | 视频 | 课程中的代码/文档 |
|
||||
| :---: | :------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
|
||||
| 第1讲 | 源码阅读和调试「必备」技巧 | [](https://www.bilibili.com/video/BV1N14y1V7mB) [](https://www.bilibili.com/video/BV1N14y1V7mB) | [源码阅读和调试「必备」技巧文档](<>) |
|
||||
|
||||
#### 源码解读类
|
||||
|
||||
#### 演示类
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
# MMDeploy 介绍
|
||||
# 部署必备教程
|
||||
|
||||
## MMDeploy 介绍
|
||||
|
||||
MMDeploy 是 [OpenMMLab](https://openmmlab.com/) 模型部署工具箱,**为各算法库提供统一的部署体验**。基于 MMDeploy,开发者可以轻松从训练 repo 生成指定硬件所需 SDK,省去大量适配时间。
|
||||
|
||||
更多介绍和使用指南见 https://github.com/open-mmlab/mmdeploy/blob/dev-1.x/docs/zh_cn/get_started.md
|
||||
|
||||
# 算法支持列表
|
||||
## 算法支持列表
|
||||
|
||||
目前支持的 model-backend 组合:
|
||||
|
||||
|
@ -17,7 +19,7 @@ MMDeploy 是 [OpenMMLab](https://openmmlab.com/) 模型部署工具箱,**为
|
|||
|
||||
ncnn 和其他后端的支持会在后续支持。
|
||||
|
||||
# MMYOLO 中部署相关配置说明
|
||||
## MMYOLO 中部署相关配置说明
|
||||
|
||||
所有部署配置文件在 [`configs/deploy`](configs/deploy) 目录下。
|
||||
|
||||
|
@ -202,7 +204,7 @@ use_efficientnms = False
|
|||
|
||||
!!! 部署 TensorRT INT8 模型教程即将发布 !!!
|
||||
|
||||
# 模型转换
|
||||
## 模型转换
|
||||
|
||||
### 使用方法
|
||||
|
||||
|
@ -237,7 +239,7 @@ python3 ${MMDEPLOY_DIR}/tools/deploy.py \
|
|||
- `--show` : 是否显示检测的结果。
|
||||
- `--dump-info` : 是否输出 SDK 信息。
|
||||
|
||||
# 模型评测
|
||||
## 模型评测
|
||||
|
||||
当您将 PyTorch 模型转换为后端支持的模型后,您可能需要验证模型的精度,使用 `${MMDEPLOY_DIR}/tools/test.py`
|
||||
|
||||
|
@ -262,7 +264,7 @@ python3 ${MMDEPLOY_DIR}/tools/test.py \
|
|||
[--log-interval ${LOG_INTERVERL}]
|
||||
```
|
||||
|
||||
## 参数描述
|
||||
### 参数描述
|
||||
|
||||
- `deploy_cfg`: 部署配置文件。
|
||||
- `model_cfg`: MMYOLO 模型配置文件。
|
|
@ -0,0 +1,16 @@
|
|||
部署必备教程
|
||||
************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
basic_deployment_guide.md
|
||||
|
||||
|
||||
部署全流程说明
|
||||
************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
yolov5_deployment.md
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
| MMYOLO version | MMDetection version | MMEngine version | MMCV version |
|
||||
| :------------: | :----------------------: | :----------------------: | :---------------------: |
|
||||
| main | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.2.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.2 | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.2.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| main | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.3.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.2 | mmdet>=3.0.0rc2, \<3.1.0 | mmengine>=0.3.0, \<1.0.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.1 | mmdet==3.0.0rc1 | mmengine>=0.1.0, \<0.2.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
| 0.1.0 | mmdet==3.0.0rc0 | mmengine>=0.1.0, \<0.2.0 | mmcv>=2.0.0rc0, \<2.1.0 |
|
||||
|
||||
|
@ -50,7 +50,7 @@ conda install pytorch torchvision cpuonly -c pytorch
|
|||
|
||||
```shell
|
||||
pip install -U openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc1,<3.1.0"
|
||||
```
|
||||
|
@ -158,7 +158,7 @@ inference_detector(model, 'demo/demo.jpg')
|
|||
例如,你可以通过以下命令安装 MMEngine:
|
||||
|
||||
```shell
|
||||
pip install "mmengine>=0.2.0"
|
||||
pip install "mmengine>=0.3.0"
|
||||
```
|
||||
|
||||
#### 不使用 MIM 安装 MMCV
|
||||
|
|
|
@ -26,6 +26,12 @@
|
|||
|
||||
advanced_guides/index.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: 部署教程
|
||||
|
||||
deploy/index.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: 解读文章和资源汇总
|
||||
|
|
|
@ -1,5 +1,60 @@
|
|||
# 更新日志
|
||||
|
||||
## v0.1.2(3/11/2022)
|
||||
|
||||
### 亮点
|
||||
|
||||
1. 支持 ONNXRuntime 和 TensorRT 的 [YOLOv5/YOLOv6/YOLOX/RTMDet 部署](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy)
|
||||
2. 支持 [YOLOv6](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov6) s/t/n 模型训练
|
||||
3. YOLOv5 支持 [P6 大分辨率 1280 尺度训练](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5)
|
||||
4. YOLOv5 支持 [VOC 数据集训练](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov5/voc)
|
||||
5. 支持 [PPYOLOE](https://github.com/open-mmlab/mmyolo/blob/main/configs/ppyoloe) 和 [YOLOv7](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov7) 模型推理和官方权重转化
|
||||
6. How-to 文档中新增 YOLOv5 替换 [backbone 教程](https://github.com/open-mmlab/mmyolo/blob/dev/docs/zh_cn/advanced_guides/how_to.md#%E8%B7%A8%E5%BA%93%E4%BD%BF%E7%94%A8%E4%B8%BB%E5%B9%B2%E7%BD%91%E7%BB%9C)
|
||||
|
||||
### 新特性
|
||||
|
||||
1. 新增 `optimize_anchors` 脚本 (#175)
|
||||
2. 新增 `extract_subcoco` 脚本 (#186)
|
||||
3. 新增 `yolo2coco` 转换脚本 (#161)
|
||||
4. 新增 `dataset_analysis` 脚本 (#172)
|
||||
5. 移除 Albu 版本限制 (#187)
|
||||
|
||||
### Bug 修复
|
||||
|
||||
1. 修复当设置 `cfg.resume` 时候不生效问题 (#221)
|
||||
2. 修复特征图可视化脚本中不显示 bbox 问题 (#204)
|
||||
3. 更新 RTMDet 的 metafile (#188)
|
||||
4. 修复 test_pipeline 中的可视化错误 (#166)
|
||||
5. 更新 badges (#140)
|
||||
|
||||
### 完善
|
||||
|
||||
1. 优化 Readthedoc 显示页面 (#209)
|
||||
2. 为 base model 添加模块结构图的 docstring (#196)
|
||||
3. 支持 LoadAnnotations 中不包括任何实例逻辑 (#161)
|
||||
4. 更新 `image_demo` 脚本以支持文件夹和 url 路径 (#128)
|
||||
5. 更新 pre-commit hook (#129)
|
||||
|
||||
### 文档
|
||||
|
||||
1. 将 `yolov5_description.md`、 `yolov5_tutorial.md` 和 `visualization.md` 翻译为英文 (#138, #198, #206)
|
||||
2. 新增部署相关中文文档 (#220)
|
||||
3. 更新 `config.md`、`faq.md` 和 `pull_request_template.md` (#190, #191, #200)
|
||||
4. 更新 `article` 页面 (#133)
|
||||
|
||||
### 视频
|
||||
|
||||
1. 发布了[特征图可视化视频](https://www.bilibili.com/video/BV188411s7o8)
|
||||
2. 发布了 [YOLOv5 配置文件解读视频](https://www.bilibili.com/video/BV1214y157ck)
|
||||
3. 发布了 [RTMDet-s 特征图可视化 demo 视频](https://www.bilibili.com/video/BV1je4y1478R)
|
||||
4. 发布了[源码解读和必备调试技巧视频](https://www.bilibili.com/video/BV1N14y1V7mB)
|
||||
|
||||
### 贡献者
|
||||
|
||||
总共 14 位开发者参与了本次版本
|
||||
|
||||
谢谢 @imAzhou, @triple-Mu, @RangeKing, @PeterH0323, @xin-li-67, @Nioolek, @kitecats, @Bin-ze, @JiayuXu0, @cydiachen, @zhiqwang, @Zheng-LinXiao, @hhaAndroid, @wanghonglie
|
||||
|
||||
## v0.1.1(29/9/2022)
|
||||
|
||||
基于 MMDetection 的 RTMDet 高精度低延时目标检测算法,我们也同步发布了 RTMDet,并提供了 RTMDet 原理和实现全解析中文文档
|
||||
|
|
|
@ -44,9 +44,14 @@ MMYOLO 文件结构和 MMDetection 完全一致。为了能够充分复用 MMDet
|
|||
- [必备基础](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#id1)
|
||||
- [原理和实现全解析](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#id2)
|
||||
|
||||
4. 参考以下教程深入了解:
|
||||
4. YOLO 系列部署教程:
|
||||
|
||||
- [部署必备教程](https://mmyolo.readthedocs.io/zh_CN/latest/deploy/index.html#id1)
|
||||
- [部署全流程说明](https://mmyolo.readthedocs.io/zh_CN/latest/deploy/index.html#id2)
|
||||
|
||||
5. 参考以下教程深入了解:
|
||||
|
||||
- [数据流](https://mmyolo.readthedocs.io/zh_CN/latest/advanced_guides/index.html#id1)
|
||||
- [How to](https://mmyolo.readthedocs.io/zh_CN/latest/advanced_guides/index.html#how-to)
|
||||
|
||||
5. [解读文章和资源汇总](article.md)
|
||||
6. [解读文章和资源汇总](article.md)
|
||||
|
|
|
@ -10,7 +10,7 @@ conda activate open-mmlab
|
|||
conda install pytorch torchvision -c pytorch
|
||||
# conda install pytorch torchvision cpuonly -c pytorch
|
||||
pip install -U openmim
|
||||
mim install "mmengine>=0.2.0"
|
||||
mim install "mmengine>=0.3.0"
|
||||
mim install "mmcv>=2.0.0rc1,<2.1.0"
|
||||
mim install "mmdet>=3.0.0rc2,<3.1.0"
|
||||
git clone https://github.com/open-mmlab/mmyolo.git
|
||||
|
@ -125,11 +125,9 @@ wget https://download.openmmlab.com/mmyolo/v0/yolov5/yolov5_s-v61_syncbn_fast_8x
|
|||
```shell
|
||||
cd mmyolo
|
||||
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' custom_hooks=None
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth'
|
||||
```
|
||||
|
||||
注意: 原则上在微调阶段应该将 `EMAHook` 的 `strict_load` 初始化参数设置为 `False` 即命令为 `custom_hooks.0.strict_load=False`。但由于 MMEngine v0.1.0 为初期开发版本,目前这样设置会出现问题。因此暂时只能通过命令 `custom_hooks=None`,关闭 `custom_hooks` 使用,从而正确加载预训练权重。预计会在下个版本修复此问题。
|
||||
|
||||
3. 冻结 backbone 进行训练
|
||||
|
||||
通过 config 文件或者命令行中设置 model.backbone.frozen_stages=4 冻结 backbone 的 4 个 stages。
|
||||
|
@ -138,7 +136,7 @@ python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.
|
|||
# 命令行中设置 model.backbone.frozen_stages=4
|
||||
cd mmyolo
|
||||
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' model.backbone.frozen_stages=4 custom_hooks=None
|
||||
--cfg-options load_from='yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth' model.backbone.frozen_stages=4
|
||||
```
|
||||
|
||||
### 训练验证中可视化相关
|
||||
|
@ -221,16 +219,6 @@ tensorboard --logdir=work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon
|
|||
|
||||
## 模型测试
|
||||
|
||||
如果你训练时候设置了 `custom_hooks=None`,那么在模型测试过程中依然需要设置 `custom_hooks=None`
|
||||
|
||||
```shell
|
||||
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon/epoch_300.pth \
|
||||
--show-dir show_results --cfg-options custom_hooks=None
|
||||
```
|
||||
|
||||
如果你没有设置 `custom_hooks=None`,那么测试命令如下:
|
||||
|
||||
```shell
|
||||
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \
|
||||
work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon/epoch_300.pth \
|
||||
|
@ -245,4 +233,4 @@ python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.p
|
|||
|
||||
## 模型部署
|
||||
|
||||
正在准备中,敬请期待!
|
||||
请参考[这里](../deploy/yolov5_deployment.md)
|
||||
|
|
|
@ -10,7 +10,7 @@ mmcv_minimum_version = '2.0.0rc0'
|
|||
mmcv_maximum_version = '2.1.0'
|
||||
mmcv_version = digit_version(mmcv.__version__)
|
||||
|
||||
mmengine_minimum_version = '0.2.0'
|
||||
mmengine_minimum_version = '0.3.0'
|
||||
mmengine_maximum_version = '1.0.0'
|
||||
mmengine_version = digit_version(mmengine.__version__)
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
mmcv>=2.0.0rc1,<2.1.0
|
||||
mmdet>=3.0.0rc2
|
||||
mmengine>=0.2.0
|
||||
mmengine>=0.3.0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
mmcv>=2.0.0rc1,<2.1.0
|
||||
mmdet>=3.0.0rc2
|
||||
mmengine>=0.2.0
|
||||
mmengine>=0.3.0
|
||||
torch
|
||||
torchvision
|
||||
|
|
Loading…
Reference in New Issue