Skip to content

Commit 7d1c097

Browse files
authored
Add changelog of v2.24.0 (#7807)
* add change log of v2.24.0 * refine changelog * fix typo * resolve comments * fix lint * update
1 parent 857ac4e commit 7d1c097

12 files changed

+147
-19
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ This project is released under the [Apache 2.0 license](LICENSE).
7474

7575
## Changelog
7676

77-
**2.23.0** was released in 28/3/2022:
77+
**2.24.0** was released in 26/4/2022:
7878

79-
- Support [Mask2Former](configs/mask2former) and [EfficientNet](configs/efficientnet)
80-
- Support setting data root through environment variable `MMDET_DATASETS`, users don't have to modify the corresponding path in config files anymore.
81-
- Find a good recipe for fine-tuning high precision ResNet backbone pre-trained by Torchvision.
79+
- Support [Simple Copy Paste](configs/simple_copy_paste)
80+
- Support automatically scaling LR according to GPU number and samples per GPU
81+
- Support Class Aware Sampler that improves performance on OpenImages Dataset
8282

8383
Please refer to [changelog.md](docs/en/changelog.md) for details and release history.
8484

README_zh-CN.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 [Ope
7373

7474
## 更新日志
7575

76-
最新的 **2.23.0** 版本已经在 2022.03.28 发布:
76+
最新的 **2.24.0** 版本已经在 2022.03.28 发布:
7777

78-
- 支持 [Mask2Former](configs/mask2former)[Efficientnet](configs/efficientnet)
79-
- 支持通环境变量 `MMDET_DATASETS` 设置数据根目录,因此无需修改配置文件中对应的路径。
80-
- 发现一个很好的方法来微调由 Torchvision 预训练的高精度 ResNet 主干。
78+
- 支持算法 [Simple Copy Paste](configs/simple_copy_paste)
79+
- 支持训练时根据总 batch 数自动缩放学习率
80+
- 支持类别可知的采样器来提高算法在 OpenImages 数据集上的性能
8181

8282
如果想了解更多版本更新细节和历史信息,请阅读[更新日志](docs/en/changelog.md)
8383

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ Standard Scale Jittering(SSJ) resizes and crops an image with a resize range of
2020

2121
| Backbone | Training schedule | Augmentation | batch size | box AP | mask AP | Config |
2222
|:--------:|:-----------------:|:------------:|:----------:|:------:|:-------:|:---------------------------------------------------------------------------------------------------------------------------------------------------:|
23-
| R-50 | 90k | SSJ | 64 | 43.3 | 39.2 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_90k_coco.py) |
24-
| R-50 | 90k | SSJ+SCP | 64 | 43.9 | 39.2 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_90k_coco.py) |
25-
| R-50 | 270k | SSJ | 64 | 43.5 | 39.1 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_270k_coco.py) |
26-
| R-50 | 270k | SSJ+SCP | 64 | 45.1 | 40.3 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_270k_coco.py) |
23+
| R-50 | 90k | SSJ | 64 | 43.3 | 39.2 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_90k_coco.py) |
24+
| R-50 | 90k | SSJ+SCP | 64 | 43.9 | 39.2 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_90k_coco.py) |
25+
| R-50 | 270k | SSJ | 64 | 43.5 | 39.1 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_270k_coco.py) |
26+
| R-50 | 270k | SSJ+SCP | 64 | 45.1 | 40.3 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_270k_coco.py) |
2727

2828
## Citation
2929

configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_270k_coco.py renamed to configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_270k_coco.py

File renamed without changes.

configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_90k_coco.py renamed to configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_32x2_90k_coco.py

File renamed without changes.

configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_270k_coco.py renamed to configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_270k_coco.py

File renamed without changes.

configs/simplecopypaste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_90k_coco.py renamed to configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_90k_coco.py

File renamed without changes.

docker/serve/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ARG CUDNN="7"
44
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel
55

66
ARG MMCV="1.3.17"
7-
ARG MMDET="2.23.0"
7+
ARG MMDET="2.24.0"
88

99
ENV PYTHONUNBUFFERED TRUE
1010

docs/en/changelog.md

Lines changed: 129 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,134 @@
11
## Changelog
22

3+
### v2.24.0 (26/4/2022)
4+
5+
#### Highlights
6+
7+
- Support [Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation](https://arxiv.org/abs/2012.07177)
8+
- Support automatically scaling LR according to GPU number and samples per GPU
9+
- Support Class Aware Sampler that improves performance on OpenImages Dataset
10+
11+
#### New Features
12+
13+
- Support [Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation](https://arxiv.org/abs/2012.07177), see [example configs](configs/simple_copy_paste/mask_rcnn_r50_fpn_syncbn-all_rpn-2conv_ssj_scp_32x2_270k_coco.py) (#7501)
14+
- Support Class Aware Sampler, users can set
15+
16+
```python
17+
data=dict(train_dataloader=dict(class_aware_sampler=dict(num_sample_class=1))))
18+
```
19+
20+
in the config to use `ClassAwareSampler`. Examples can be found in [the configs of OpenImages Dataset](https://github.com/open-mmlab/mmdetection/tree/master/configs/openimages/faster_rcnn_r50_fpn_32x2_cas_1x_openimages.py). (#7436)
21+
22+
- Support automatically scaling LR according to GPU number and samples per GPU. (#7482)
23+
In each config, there is a corresponding config of auto-scaling LR as below,
24+
25+
```python
26+
auto_scale_lr = dict(enable=True, base_batch_size=N)
27+
```
28+
29+
where `N` is the batch size used for the current learning rate in the config (also equals to `samples_per_gpu` * gpu number to train this config).
30+
By default, we set `enable=False` so that the original usages will not be affected. Users can set `enable=True` in each config or add `--auto-scale-lr` after the command line to enable this feature and should check the correctness of `base_batch_size` in customized configs.
31+
32+
- Support setting dataloader arguments in config and add functions to handle config compatibility. (#7668)
33+
The comparison between the old and new usages is as below.
34+
35+
<table align="center">
36+
<thead>
37+
<tr align='center'>
38+
<td>Before v2.24.0</td>
39+
<td>Since v2.24.0 </td>
40+
</tr>
41+
</thead>
42+
<tbody><tr valign='top'>
43+
<th>
44+
45+
```python
46+
data = dict(
47+
samples_per_gpu=64, workers_per_gpu=4,
48+
train=dict(type='xxx', ...),
49+
val=dict(type='xxx', samples_per_gpu=4, ...),
50+
test=dict(type='xxx', ...),
51+
)
52+
```
53+
54+
</th>
55+
<th>
56+
57+
```python
58+
# A recommended config that is clear
59+
data = dict(
60+
train=dict(type='xxx', ...),
61+
val=dict(type='xxx', ...),
62+
test=dict(type='xxx', ...),
63+
# Use different batch size during inference.
64+
train_dataloader=dict(samples_per_gpu=64, workers_per_gpu=4),
65+
val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
66+
test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
67+
)
68+
69+
# Old style still works but allows to set more arguments about data loaders
70+
data = dict(
71+
samples_per_gpu=64, # only works for train_dataloader
72+
workers_per_gpu=4, # only works for train_dataloader
73+
train=dict(type='xxx', ...),
74+
val=dict(type='xxx', ...),
75+
test=dict(type='xxx', ...),
76+
# Use different batch size during inference.
77+
val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
78+
test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
79+
)
80+
```
81+
82+
</th></tr>
83+
</tbody></table>
84+
85+
- Support memory profile hook. Users can use it to monitor the memory usages during training as below (#7560)
86+
87+
```python
88+
custom_hooks = [
89+
dict(type='MemoryProfilerHook', interval=50)
90+
]
91+
```
92+
93+
- Support to run on PyTorch with MLU chip (#7578)
94+
- Support re-spliting data batch with tag (#7641)
95+
- Support the `DiceCost` used by [K-Net](https://arxiv.org/abs/2106.14855) in `MaskHungarianAssigner` (#7716)
96+
- Support splitting COCO data for Semi-supervised object detection (#7431)
97+
- Support Pathlib for Config.fromfile (#7685)
98+
- Support to use file client in OpenImages dataset (#7433)
99+
- Add a probability parameter to Mosaic transformation (#7371)
100+
- Support specifying interpolation mode in `Resize` pipeline (#7585)
101+
102+
#### Bug Fixes
103+
104+
- Avoid invalid bbox after deform_sampling (#7567)
105+
- Fix the issue that argument color_theme does not take effect when exporting confusion matrix (#7701)
106+
- Fix the `end_level` in Necks, which should be the index of the end input backbone level (#7502)
107+
- Fix the bug that `mix_results` may be None in `MultiImageMixDataset` (#7530)
108+
- Fix the bug in ResNet plugin when two plugins are used (#7797)
109+
110+
#### Improvements
111+
112+
- Enhance `load_json_logs` of analyze_logs.py for resumed training logs (#7732)
113+
- Add argument `out_file` in image_demo.py (#7676)
114+
- Allow mixed precision training with `SimOTAAssigner` (#7516)
115+
- Updated INF to 100000.0 to be the same as that in the official YOLOX (#7778)
116+
- Add documentations of:
117+
- how to get channels of a new backbone (#7642)
118+
- how to unfreeze the backbone network (#7570)
119+
- how to train fast_rcnn model (#7549)
120+
- proposals in Deformable DETR (#7690)
121+
- from-scratch install script in get_started.md (#7575)
122+
- Release pre-trained models of
123+
- [Mask2Former](configs/mask2former) (#7595, #7709)
124+
- RetinaNet with ResNet-18 and release models (#7387)
125+
- RetinaNet with EfficientNet backbone (#7646)
126+
127+
#### Contributors
128+
129+
A total of 27 developers contributed to this release.
130+
Thanks @jovialio, @zhangsanfeng2022, @HarryZJ, @jamiechoi1995, @nestiank, @PeterH0323, @RangeKing, @Y-M-Y, @mattcasey02, @weiji14, @Yulv-git, @xiefeifeihu, @FANG-MING, @meng976537406, @nijkah, @sudz123, @CCODING04, @SheffieldCao, @Czm369, @BIGWangYuDong, @zytx121, @jbwang1997, @chhluo, @jshilong, @RangiLyu, @hhaAndroid, @ZwwWayne
131+
3132
### v2.23.0 (28/3/2022)
4133

5134
#### Highlights
@@ -54,8 +183,6 @@
54183
A total of 27 developers contributed to this release.
55184
Thanks @ZwwWayne, @haofanwang, @shinya7y, @chhluo, @yangrisheng, @triple-Mu, @jbwang1997, @HikariTJU, @imflash217, @274869388, @zytx121, @matrixgame2018, @jamiechoi1995, @BIGWangYuDong, @JingweiZhang12, @Xiangxu-0103, @hhaAndroid, @jshilong, @osbm, @ceroytres, @bunge-bedstraw-herb, @Youth-Got, @daavoo, @jiangyitong, @RangiLyu, @CCODING04, @yarkable
56185

57-
58-
59186
### v2.22.0 (24/2/2022)
60187

61188
#### Highlights
@@ -97,7 +224,6 @@ In order to support the visualization for Panoptic Segmentation, the `num_classe
97224
A total of 20 developers contributed to this release.
98225
Thanks @ZwwWayne, @hhaAndroid, @RangiLyu, @AronLin, @BIGWangYuDong, @jbwang1997, @zytx121, @chhluo, @shinya7y, @LuooChen, @dvansa, @siatwangmin, @del-zhenwu, @vikashranjan26, @haofanwang, @jamiechoi1995, @HJoonKwon, @yarkable, @zhijian-liu, @RangeKing
99226

100-
101227
### v2.21.0 (8/2/2022)
102228

103229
### Breaking Changes

docs/en/get_started.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ Compatible MMDetection and MMCV versions are shown as below. Please install the
1111

1212
| MMDetection version | MMCV version |
1313
|:-------------------:|:-------------------------:|
14-
| master | mmcv-full>=1.3.17, <1.5.0 |
14+
| master | mmcv-full>=1.3.17, <1.6.0 |
15+
| 2.24.0 | mmcv-full>=1.3.17, <1.6.0 |
1516
| 2.23.0 | mmcv-full>=1.3.17, <1.5.0 |
1617
| 2.22.0 | mmcv-full>=1.3.17, <1.5.0 |
1718
| 2.21.0 | mmcv-full>=1.3.17, <1.5.0 |

0 commit comments

Comments
 (0)