Add changelog of v0.1.2 (#226)

* Add changelog of v0.1.2

* update version

* fix comments

* fix comments

* update

* update version

* update version
pull/249/head
Haian Huang(深度眸) 2022-11-03 17:15:19 +08:00 committed by Haian Huang(深度眸)
parent f045ecf213
commit 8fc8066b1b
25 changed files with 252 additions and 71 deletions

View File

@ -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

View File

@ -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>

View File

@ -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)
同时我们也推出了解读视频:
| | 内容 | 视频 | 课程中的代码 |
| :-: | :------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| 🌟 | 特征图可视化 | [![Link](https://i2.hdslb.com/bfs/archive/480a0eb41fce26e0acb65f82a74501418eee1032.jpg@112w_63h_1c.webp)](https://www.bilibili.com/video/BV188411s7o8) [![bilibili](https://img.shields.io/badge/dynamic/json?label=views&style=social&logo=bilibili&query=data.stat.view&url=https%3A%2F%2Fapi.bilibili.com%2Fx%2Fweb-interface%2Fview%3Fbvid%3DBV188411s7o8)](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 | [![Link](http://i0.hdslb.com/bfs/archive/081f300c84d6556f40d984cfbe801fc0644ff449.jpg@112w_63h_1c.webp)](https://www.bilibili.com/video/BV1je4y1478R/) [![bilibili](https://img.shields.io/badge/dynamic/json?label=views&style=social&logo=bilibili&query=data.stat.view&url=https%3A%2F%2Fapi.bilibili.com%2Fx%2Fweb-interface%2Fview%3Fbvid%3DBV1je4y1478R)](https://www.bilibili.com/video/BV1je4y1478R/) | |
| 🌟 | 配置全解读 | [![Link](http://i1.hdslb.com/bfs/archive/e06daf640ea39b3c0700bb4dc758f1a253f33e13.jpg@112w_63h_1c.webp)](https://www.bilibili.com/video/BV1214y157ck) [![bilibili](https://img.shields.io/badge/dynamic/json?label=views&style=social&logo=bilibili&query=data.stat.view&url=https%3A%2F%2Fapi.bilibili.com%2Fx%2Fweb-interface%2Fview%3Fbvid%3DBV1214y157ck)](https://www.bilibili.com/video/BV1214y157ck) | [配置全解读文档](https://zhuanlan.zhihu.com/p/577715188) |
| 🌟 | 源码阅读和调试「必备」技巧 | [![Link](https://i2.hdslb.com/bfs/archive/790d2422c879ff20488910da1c4422b667ea6af7.jpg@112w_63h_1c.webp)](https://www.bilibili.com/video/BV1N14y1V7mB) [![bilibili](https://img.shields.io/badge/dynamic/json?label=views&style=social&logo=bilibili&query=data.stat.view&url=https%3A%2F%2Fapi.bilibili.com%2Fx%2Fweb-interface%2Fview%3Fbvid%3DBV1N14y1V7mB)](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>

View File

@ -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,

View File

@ -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 && \

View File

@ -0,0 +1 @@
# Basic Deployment Guide

View File

@ -0,0 +1,16 @@
Basic Deployment Guide
************************
.. toctree::
:maxdepth: 1
basic_deployment_guide.md
Deployment tutorial
************************
.. toctree::
:maxdepth: 1
yolov5_deployment.md

View File

@ -0,0 +1 @@
# YOLOv5 Deployment

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,53 @@
# Changelog
## v0.1.23/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.129/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.

View File

@ -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)

View File

@ -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)

View File

@ -27,6 +27,10 @@
#### 实用类
| | 内容 | 视频 | 课程中的代码/文档 |
| :---: | :------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| 第1讲 | 源码阅读和调试「必备」技巧 | [![Link](https://i2.hdslb.com/bfs/archive/790d2422c879ff20488910da1c4422b667ea6af7.jpg@112w_63h_1c.webp)](https://www.bilibili.com/video/BV1N14y1V7mB) [![bilibili](https://img.shields.io/badge/dynamic/json?label=views&style=social&logo=bilibili&query=data.stat.view&url=https%3A%2F%2Fapi.bilibili.com%2Fx%2Fweb-interface%2Fview%3Fbvid%3DBV1N14y1V7mB)](https://www.bilibili.com/video/BV1N14y1V7mB) | [源码阅读和调试「必备」技巧文档](<>) |
#### 源码解读类
#### 演示类

View File

@ -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 模型配置文件。

View File

@ -0,0 +1,16 @@
部署必备教程
************************
.. toctree::
:maxdepth: 1
basic_deployment_guide.md
部署全流程说明
************************
.. toctree::
:maxdepth: 1
yolov5_deployment.md

View File

@ -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

View File

@ -26,6 +26,12 @@
advanced_guides/index.rst
.. toctree::
:maxdepth: 2
:caption: 部署教程
deploy/index.rst
.. toctree::
:maxdepth: 1
:caption: 解读文章和资源汇总

View File

@ -1,5 +1,60 @@
# 更新日志
## v0.1.23/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.129/9/2022)
基于 MMDetection 的 RTMDet 高精度低延时目标检测算法,我们也同步发布了 RTMDet并提供了 RTMDet 原理和实现全解析中文文档

View File

@ -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)

View File

@ -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)

View File

@ -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__)

View File

@ -1,3 +1,3 @@
mmcv>=2.0.0rc1,<2.1.0
mmdet>=3.0.0rc2
mmengine>=0.2.0
mmengine>=0.3.0

View File

@ -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