Add changelog of v0.1.2 ()

* 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 name: Install mmyolo dependencies
command: | command: |
pip install -U openmim pip install -U openmim
mim install 'mmengine >= 0.2.0' mim install 'mmengine >= 0.3.0'
mim install 'mmcv >= 2.0.0rc1' mim install 'mmcv >= 2.0.0rc1'
pip install git+https://github.com/open-mmlab/mmdetection.git@dev-3.x pip install git+https://github.com/open-mmlab/mmdetection.git@dev-3.x
pip install -r requirements/albu.txt pip install -r requirements/albu.txt
@ -124,7 +124,7 @@ jobs:
name: Install mmyolo dependencies name: Install mmyolo dependencies
command: | command: |
docker exec mmyolo pip install -U openmim 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 mim install 'mmcv >= 2.0.0rc1'
docker exec mmyolo pip install -e /mmdetection docker exec mmyolo pip install -e /mmdetection
docker exec mmyolo pip install -r requirements/albu.txt 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 ## 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). 1. Support [YOLOv5/YOLOv6/YOLOX/RTMDet deployments](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy) for ONNXRuntime and TensorRT
- Support for backbone customization plugins and update How-to documentation. 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). 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 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 conda activate open-mmlab
pip install openmim 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 "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc2,<3.1.0" mim install "mmdet>=3.0.0rc2,<3.1.0"
git clone https://github.com/open-mmlab/mmyolo.git 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) - [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) - [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) - [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) - [Useful Tools](https://mmdetection.readthedocs.io/en/latest/user_guides/index.html#useful-tools)
- [Visualization](docs/en/user_guides/visualization.md) - [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 - 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) - [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) - [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 - Advanced Guides
- [Data flow](docs/en/advanced_guides/data_flow.md) - [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] [YOLOv5](configs/yolov5)
- [x] [YOLOX](configs/yolox) - [x] [YOLOX](configs/yolox)
- [x] [RTMDet](configs/rtmdet) - [x] [RTMDet](configs/rtmdet)
- [ ] [YOLOv6](configs/yolov6)(Inference only) - [x] [YOLOv6](configs/yolov6)
- [ ] [PPYOLOE](configs/ppyoloe)(Inference only)
- [ ] [YOLOv7](configs/yolov7)(Inference only)
</details> </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) 1. 支持 ONNXRuntime 和 TensorRT 的 [YOLOv5/YOLOv6/YOLOX/RTMDet 部署](https://github.com/open-mmlab/mmyolo/blob/main/configs/deploy)
- 新增了 [RTMDet 原理和实现全解析中文文档](https://github.com/open-mmlab/mmyolo/blob/main/docs/zh_cn/algorithm_descriptions/rtmdet_description.md) 2. 支持 [YOLOv6](https://github.com/open-mmlab/mmyolo/blob/main/configs/yolov6) s/t/n 模型训练
- 支持对 backbone 自定义插件,并且更新了 How-to 文档 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) 发布历史和更新细节请参考 [更新日志](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 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 conda activate open-mmlab
pip install openmim 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 "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc2,<3.1.0" mim install "mmdet>=3.0.0rc2,<3.1.0"
git clone https://github.com/open-mmlab/mmyolo.git git clone https://github.com/open-mmlab/mmyolo.git
@ -122,6 +134,13 @@ MMYOLO 用法和 MMDetection 几乎一致,所有教程都是通用的,你也
- [YOLOv5 原理和实现全解析](docs/zh_cn/algorithm_descriptions/yolov5_description.md) - [YOLOv5 原理和实现全解析](docs/zh_cn/algorithm_descriptions/yolov5_description.md)
- [RTMDet 原理和实现全解析](docs/zh_cn/algorithm_descriptions/rtmdet_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) - [数据流](docs/zh_cn/advanced_guides/data_flow.md)
@ -139,7 +158,9 @@ MMYOLO 用法和 MMDetection 几乎一致,所有教程都是通用的,你也
- [x] [YOLOv5](configs/yolov5) - [x] [YOLOv5](configs/yolov5)
- [x] [YOLOX](configs/yolox) - [x] [YOLOX](configs/yolox)
- [x] [RTMDet](configs/rtmdet) - [x] [RTMDet](configs/rtmdet)
- [ ] [YOLOv6](configs/yolov6)(仅推理) - [x] [YOLOv6](configs/yolov6)
- [ ] [PPYOLOE](configs/ppyoloe)(仅推理)
- [ ] [YOLOv7](configs/yolov7)(仅推理)
</details> </details>

View File

@ -9,8 +9,14 @@ model = dict(
backbone=dict( backbone=dict(
deepen_factor=deepen_factor, deepen_factor=deepen_factor,
widen_factor=widen_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( init_cfg=dict(
type='Pretrained', prefix='backbone.', checkpoint=checkpoint)), type='Pretrained',
prefix='backbone.',
checkpoint=checkpoint,
map_location='cpu')),
neck=dict( neck=dict(
deepen_factor=deepen_factor, deepen_factor=deepen_factor,
widen_factor=widen_factor, widen_factor=widen_factor,

View File

@ -26,7 +26,7 @@ RUN apt-get update \
# Install MMEngine , MMCV and MMDet # Install MMEngine , MMCV and MMDet
RUN pip install --no-cache-dir openmim && \ 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 # Install MMYOLO
RUN git clone https://github.com/open-mmlab/mmyolo.git /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 | | 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 | | 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.2.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.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 | | 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 ```shell
pip install -U openmim 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 "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:** **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. For example, you can install MMEngine by the following command.
```shell ```shell
pip install "mmengine>=0.2.0" pip install "mmengine>=0.3.0"
``` ```
#### Install MMCV without MIM #### Install MMCV without MIM

View File

@ -26,6 +26,12 @@ Welcome to MMYOLO's documentation!
advanced_guides/index.rst advanced_guides/index.rst
.. toctree::
:maxdepth: 2
:caption: Deployment Guides
deploy/index.rst
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
:caption: API Reference :caption: API Reference

View File

@ -1,5 +1,53 @@
# Changelog # 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) ## 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. 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) - [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) - [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) - [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) - [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 -c pytorch
# conda install pytorch torchvision cpuonly -c pytorch # conda install pytorch torchvision cpuonly -c pytorch
pip install -U openmim 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 "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc2,<3.1.0" mim install "mmdet>=3.0.0rc2,<3.1.0"
git clone https://github.com/open-mmlab/mmyolo.git 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 ```shell
cd mmyolo cd mmyolo
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 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. 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 # Set model.backbone.frozen_stages=4 from the command line
cd mmyolo cd mmyolo
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 ### Visualization
@ -220,16 +218,6 @@ tensorboard --logdir=work_dirs/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon
## Model Testing ## 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 ```shell
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 \ 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 ## 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省去大量适配时间。 MMDeploy 是 [OpenMMLab](https://openmmlab.com/) 模型部署工具箱,**为各算法库提供统一的部署体验**。基于 MMDeploy开发者可以轻松从训练 repo 生成指定硬件所需 SDK省去大量适配时间。
更多介绍和使用指南见 https://github.com/open-mmlab/mmdeploy/blob/dev-1.x/docs/zh_cn/get_started.md 更多介绍和使用指南见 https://github.com/open-mmlab/mmdeploy/blob/dev-1.x/docs/zh_cn/get_started.md
# 算法支持列表 ## 算法支持列表
目前支持的 model-backend 组合: 目前支持的 model-backend 组合:
@ -17,7 +19,7 @@ MMDeploy 是 [OpenMMLab](https://openmmlab.com/) 模型部署工具箱,**为
ncnn 和其他后端的支持会在后续支持。 ncnn 和其他后端的支持会在后续支持。
# MMYOLO 中部署相关配置说明 ## MMYOLO 中部署相关配置说明
所有部署配置文件在 [`configs/deploy`](configs/deploy) 目录下。 所有部署配置文件在 [`configs/deploy`](configs/deploy) 目录下。
@ -202,7 +204,7 @@ use_efficientnms = False
!!! 部署 TensorRT INT8 模型教程即将发布 !!! !!! 部署 TensorRT INT8 模型教程即将发布 !!!
# 模型转换 ## 模型转换
### 使用方法 ### 使用方法
@ -237,7 +239,7 @@ python3 ${MMDEPLOY_DIR}/tools/deploy.py \
- `--show` : 是否显示检测的结果。 - `--show` : 是否显示检测的结果。
- `--dump-info` : 是否输出 SDK 信息。 - `--dump-info` : 是否输出 SDK 信息。
# 模型评测 ## 模型评测
当您将 PyTorch 模型转换为后端支持的模型后,您可能需要验证模型的精度,使用 `${MMDEPLOY_DIR}/tools/test.py` 当您将 PyTorch 模型转换为后端支持的模型后,您可能需要验证模型的精度,使用 `${MMDEPLOY_DIR}/tools/test.py`
@ -262,7 +264,7 @@ python3 ${MMDEPLOY_DIR}/tools/test.py \
[--log-interval ${LOG_INTERVERL}] [--log-interval ${LOG_INTERVERL}]
``` ```
## 参数描述 ### 参数描述
- `deploy_cfg`: 部署配置文件。 - `deploy_cfg`: 部署配置文件。
- `model_cfg`: MMYOLO 模型配置文件。 - `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 | | 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 | | 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.2.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.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 | | 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 ```shell
pip install -U openmim 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 "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc1,<3.1.0" mim install "mmdet>=3.0.0rc1,<3.1.0"
``` ```
@ -158,7 +158,7 @@ inference_detector(model, 'demo/demo.jpg')
例如,你可以通过以下命令安装 MMEngine 例如,你可以通过以下命令安装 MMEngine
```shell ```shell
pip install "mmengine>=0.2.0" pip install "mmengine>=0.3.0"
``` ```
#### 不使用 MIM 安装 MMCV #### 不使用 MIM 安装 MMCV

View File

@ -26,6 +26,12 @@
advanced_guides/index.rst advanced_guides/index.rst
.. toctree::
:maxdepth: 2
:caption: 部署教程
deploy/index.rst
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
:caption: 解读文章和资源汇总 :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) ## v0.1.129/9/2022)
基于 MMDetection 的 RTMDet 高精度低延时目标检测算法,我们也同步发布了 RTMDet并提供了 RTMDet 原理和实现全解析中文文档 基于 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#id1)
- [原理和实现全解析](https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/index.html#id2) - [原理和实现全解析](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) - [数据流](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) - [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 -c pytorch
# conda install pytorch torchvision cpuonly -c pytorch # conda install pytorch torchvision cpuonly -c pytorch
pip install -U openmim 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 "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmdet>=3.0.0rc2,<3.1.0" mim install "mmdet>=3.0.0rc2,<3.1.0"
git clone https://github.com/open-mmlab/mmyolo.git 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 ```shell
cd mmyolo cd mmyolo
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 进行训练 3. 冻结 backbone 进行训练
通过 config 文件或者命令行中设置 model.backbone.frozen_stages=4 冻结 backbone 的 4 个 stages。 通过 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 # 命令行中设置 model.backbone.frozen_stages=4
cd mmyolo cd mmyolo
python tools/train.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 ```shell
python tools/test.py configs/yolov5/yolov5_s-v61_syncbn_fast_1xb4-300e_balloon.py \ 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 \ 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_maximum_version = '2.1.0'
mmcv_version = digit_version(mmcv.__version__) 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_maximum_version = '1.0.0'
mmengine_version = digit_version(mmengine.__version__) mmengine_version = digit_version(mmengine.__version__)

View File

@ -1,3 +1,3 @@
mmcv>=2.0.0rc1,<2.1.0 mmcv>=2.0.0rc1,<2.1.0
mmdet>=3.0.0rc2 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 mmcv>=2.0.0rc1,<2.1.0
mmdet>=3.0.0rc2 mmdet>=3.0.0rc2
mmengine>=0.2.0 mmengine>=0.3.0
torch torch
torchvision torchvision