Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bumpv1.2.0 #3376

Merged
merged 20 commits into from
Oct 12, 2023
2 changes: 0 additions & 2 deletions .circleci/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ ARG CUDNN="7"

FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel

ARG DEBIAN_FRONTEND=noninteractive

# To fix GPG key error when running apt-get update
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
Expand Down
22 changes: 6 additions & 16 deletions .circleci/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
type: string
cuda:
type: enum
enum: ["10.1", "10.2", "11.1", "11.7", "11.8"]
enum: ["10.1", "10.2", "11.1"]
cudnn:
type: integer
default: 7
Expand Down Expand Up @@ -160,8 +160,9 @@ workflows:
- lint
- build_cpu:
name: maximum_version_cpu
torch: 2.0.0
torchvision: 0.15.0
# TODO: Fix torch 1.13 forward crush
torch: 1.12.0
torchvision: 0.13.0
python: 3.9.0
requires:
- minimum_version_cpu
Expand All @@ -171,10 +172,10 @@ workflows:
- maximum_version_cpu
- build_cuda:
name: mainstream_version_gpu
torch: 2.0.0
torch: 1.8.1
# Use double quotation mark to explicitly specify its type
# as string instead of number
cuda: "11.8"
cuda: "10.2"
requires:
- hold
merge_stage_test:
Expand All @@ -193,14 +194,3 @@ workflows:
only:
- dev-1.x
- main
- build_cuda:
name: maximum_version_gpu
torch: 2.0.0
# Use double quotation mark to explicitly specify its type
# as string instead of number
cuda: "11.8"
cudnn: 8
filters:
branches:
only:
- main
87 changes: 47 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,17 @@ MMSegmentation v1.x brings remarkable improvements over the 0.x release, offerin

## What's New

v1.1.2 was released on 09/20/2023.
Please refer to [changelog.md](docs/en/notes/changelog.md) for details and release history.
v1.2.0 was released on 10/12/2023, from 1.1.0 to 1.2.0, we have added or updated the following features:

- Support monocular depth estimation task, please refer to [VPD](configs/vpd/README.md) for more details.
- Add new projects: [CAT-Seg](projects/CAT-Seg/README.md), [PP-MobileSeg](projects/pp_mobileseg/README.md), [AdaBins](projects/Adabins/README.md)
### Highlights

- Support for the open-vocabulary semantic segmentation algorithm [SAN](configs/san/README.md)

- Support monocular depth estimation task, please refer to [VPD](configs/vpd/README.md) and [Adabins](projects/Adabins/README.md) for more details.

![depth estimation](https://github.com/open-mmlab/mmsegmentation/assets/15952744/07afd0e9-8ace-4a00-aa1e-5bf0ca92dcbc)

- Add new projects: open-vocabulary semantic segmentation algorithm [CAT-Seg](projects/CAT-Seg/README.md), real-time semantic segmentation algofithm [PP-MobileSeg](projects/pp_mobileseg/README.md)

## Installation

Expand Down Expand Up @@ -192,45 +198,46 @@ Results and models are available in the [model zoo](docs/en/model_zoo.md).
<details open>
<summary>Supported methods:</summary>

- [x] [FCN (CVPR'2015/TPAMI'2017)](configs/fcn)
- [x] [ERFNet (T-ITS'2017)](configs/erfnet)
- [x] [UNet (MICCAI'2016/Nat. Methods'2019)](configs/unet)
- [x] [PSPNet (CVPR'2017)](configs/pspnet)
- [x] [DeepLabV3 (ArXiv'2017)](configs/deeplabv3)
- [x] [BiSeNetV1 (ECCV'2018)](configs/bisenetv1)
- [x] [PSANet (ECCV'2018)](configs/psanet)
- [x] [DeepLabV3+ (CVPR'2018)](configs/deeplabv3plus)
- [x] [UPerNet (ECCV'2018)](configs/upernet)
- [x] [ICNet (ECCV'2018)](configs/icnet)
- [x] [NonLocal Net (CVPR'2018)](configs/nonlocal_net)
- [x] [EncNet (CVPR'2018)](configs/encnet)
- [x] [Semantic FPN (CVPR'2019)](configs/sem_fpn)
- [x] [DANet (CVPR'2019)](configs/danet)
- [x] [APCNet (CVPR'2019)](configs/apcnet)
- [x] [SAN (CVPR'2023)](configs/san/)
- [x] [VPD (ICCV'2023)](configs/vpd)
- [x] [DDRNet (T-ITS'2022)](configs/ddrnet)
- [x] [PIDNet (ArXiv'2022)](configs/pidnet)
- [x] [Mask2Former (CVPR'2022)](configs/mask2former)
- [x] [MaskFormer (NeurIPS'2021)](configs/maskformer)
- [x] [K-Net (NeurIPS'2021)](configs/knet)
- [x] [SegFormer (NeurIPS'2021)](configs/segformer)
- [x] [Segmenter (ICCV'2021)](configs/segmenter)
- [x] [DPT (ArXiv'2021)](configs/dpt)
- [x] [SETR (CVPR'2021)](configs/setr)
- [x] [STDC (CVPR'2021)](configs/stdc)
- [x] [BiSeNetV2 (IJCV'2021)](configs/bisenetv2)
- [x] [CGNet (TIP'2020)](configs/cgnet)
- [x] [PointRend (CVPR'2020)](configs/point_rend)
- [x] [DNLNet (ECCV'2020)](configs/dnlnet)
- [x] [OCRNet (ECCV'2020)](configs/ocrnet)
- [x] [ISANet (ArXiv'2019/IJCV'2021)](configs/isanet)
- [x] [Fast-SCNN (ArXiv'2019)](configs/fastscnn)
- [x] [FastFCN (ArXiv'2019)](configs/fastfcn)
- [x] [GCNet (ICCVW'2019/TPAMI'2020)](configs/gcnet)
- [x] [ANN (ICCV'2019)](configs/ann)
- [x] [EMANet (ICCV'2019)](configs/emanet)
- [x] [CCNet (ICCV'2019)](configs/ccnet)
- [x] [DMNet (ICCV'2019)](configs/dmnet)
- [x] [ANN (ICCV'2019)](configs/ann)
- [x] [GCNet (ICCVW'2019/TPAMI'2020)](configs/gcnet)
- [x] [FastFCN (ArXiv'2019)](configs/fastfcn)
- [x] [Fast-SCNN (ArXiv'2019)](configs/fastscnn)
- [x] [ISANet (ArXiv'2019/IJCV'2021)](configs/isanet)
- [x] [OCRNet (ECCV'2020)](configs/ocrnet)
- [x] [DNLNet (ECCV'2020)](configs/dnlnet)
- [x] [PointRend (CVPR'2020)](configs/point_rend)
- [x] [CGNet (TIP'2020)](configs/cgnet)
- [x] [BiSeNetV2 (IJCV'2021)](configs/bisenetv2)
- [x] [STDC (CVPR'2021)](configs/stdc)
- [x] [SETR (CVPR'2021)](configs/setr)
- [x] [DPT (ArXiv'2021)](configs/dpt)
- [x] [Segmenter (ICCV'2021)](configs/segmenter)
- [x] [SegFormer (NeurIPS'2021)](configs/segformer)
- [x] [K-Net (NeurIPS'2021)](configs/knet)
- [x] [MaskFormer (NeurIPS'2021)](configs/maskformer)
- [x] [Mask2Former (CVPR'2022)](configs/mask2former)
- [x] [PIDNet (ArXiv'2022)](configs/pidnet)
- [x] [DDRNet (T-ITS'2022)](configs/ddrnet)
- [x] [VPD (ICCV'2023)](configs/vpd)
- [x] [Semantic FPN (CVPR'2019)](configs/sem_fpn)
- [x] [DANet (CVPR'2019)](configs/danet)
- [x] [APCNet (CVPR'2019)](configs/apcnet)
- [x] [NonLocal Net (CVPR'2018)](configs/nonlocal_net)
- [x] [EncNet (CVPR'2018)](configs/encnet)
- [x] [DeepLabV3+ (CVPR'2018)](configs/deeplabv3plus)
- [x] [UPerNet (ECCV'2018)](configs/upernet)
- [x] [ICNet (ECCV'2018)](configs/icnet)
- [x] [PSANet (ECCV'2018)](configs/psanet)
- [x] [BiSeNetV1 (ECCV'2018)](configs/bisenetv1)
- [x] [DeepLabV3 (ArXiv'2017)](configs/deeplabv3)
- [x] [PSPNet (CVPR'2017)](configs/pspnet)
- [x] [ERFNet (T-ITS'2017)](configs/erfnet)
- [x] [UNet (MICCAI'2016/Nat. Methods'2019)](configs/unet)
- [x] [FCN (CVPR'2015/TPAMI'2017)](configs/fcn)

</details>

Expand Down
75 changes: 38 additions & 37 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ MMSegmentation v1.x 在 0.x 版本的基础上有了显著的提升,提供了

## 更新日志

最新版本 v1.1.2 在 2023.09.20 发布。
最新版本 v1.2.0 在 2023.10.12 发布。
如果想了解更多版本更新细节和历史信息,请阅读[更新日志](docs/en/notes/changelog.md)。

## 安装
Expand Down Expand Up @@ -187,45 +187,46 @@ MMSegmentation v1.x 在 0.x 版本的基础上有了显著的提升,提供了
<details open>
<summary>已支持的算法:</summary>

- [x] [FCN (CVPR'2015/TPAMI'2017)](configs/fcn)
- [x] [ERFNet (T-ITS'2017)](configs/erfnet)
- [x] [UNet (MICCAI'2016/Nat. Methods'2019)](configs/unet)
- [x] [PSPNet (CVPR'2017)](configs/pspnet)
- [x] [DeepLabV3 (ArXiv'2017)](configs/deeplabv3)
- [x] [BiSeNetV1 (ECCV'2018)](configs/bisenetv1)
- [x] [PSANet (ECCV'2018)](configs/psanet)
- [x] [DeepLabV3+ (CVPR'2018)](configs/deeplabv3plus)
- [x] [UPerNet (ECCV'2018)](configs/upernet)
- [x] [ICNet (ECCV'2018)](configs/icnet)
- [x] [NonLocal Net (CVPR'2018)](configs/nonlocal_net)
- [x] [EncNet (CVPR'2018)](configs/encnet)
- [x] [Semantic FPN (CVPR'2019)](configs/sem_fpn)
- [x] [DANet (CVPR'2019)](configs/danet)
- [x] [APCNet (CVPR'2019)](configs/apcnet)
- [x] [SAN (CVPR'2023)](configs/san/)
- [x] [VPD (ICCV'2023)](configs/vpd)
- [x] [DDRNet (T-ITS'2022)](configs/ddrnet)
- [x] [PIDNet (ArXiv'2022)](configs/pidnet)
- [x] [Mask2Former (CVPR'2022)](configs/mask2former)
- [x] [MaskFormer (NeurIPS'2021)](configs/maskformer)
- [x] [K-Net (NeurIPS'2021)](configs/knet)
- [x] [SegFormer (NeurIPS'2021)](configs/segformer)
- [x] [Segmenter (ICCV'2021)](configs/segmenter)
- [x] [DPT (ArXiv'2021)](configs/dpt)
- [x] [SETR (CVPR'2021)](configs/setr)
- [x] [STDC (CVPR'2021)](configs/stdc)
- [x] [BiSeNetV2 (IJCV'2021)](configs/bisenetv2)
- [x] [CGNet (TIP'2020)](configs/cgnet)
- [x] [PointRend (CVPR'2020)](configs/point_rend)
- [x] [DNLNet (ECCV'2020)](configs/dnlnet)
- [x] [OCRNet (ECCV'2020)](configs/ocrnet)
- [x] [ISANet (ArXiv'2019/IJCV'2021)](configs/isanet)
- [x] [Fast-SCNN (ArXiv'2019)](configs/fastscnn)
- [x] [FastFCN (ArXiv'2019)](configs/fastfcn)
- [x] [GCNet (ICCVW'2019/TPAMI'2020)](configs/gcnet)
- [x] [ANN (ICCV'2019)](configs/ann)
- [x] [EMANet (ICCV'2019)](configs/emanet)
- [x] [CCNet (ICCV'2019)](configs/ccnet)
- [x] [DMNet (ICCV'2019)](configs/dmnet)
- [x] [ANN (ICCV'2019)](configs/ann)
- [x] [GCNet (ICCVW'2019/TPAMI'2020)](configs/gcnet)
- [x] [FastFCN (ArXiv'2019)](configs/fastfcn)
- [x] [Fast-SCNN (ArXiv'2019)](configs/fastscnn)
- [x] [ISANet (ArXiv'2019/IJCV'2021)](configs/isanet)
- [x] [OCRNet (ECCV'2020)](configs/ocrnet)
- [x] [DNLNet (ECCV'2020)](configs/dnlnet)
- [x] [PointRend (CVPR'2020)](configs/point_rend)
- [x] [CGNet (TIP'2020)](configs/cgnet)
- [x] [BiSeNetV2 (IJCV'2021)](configs/bisenetv2)
- [x] [STDC (CVPR'2021)](configs/stdc)
- [x] [SETR (CVPR'2021)](configs/setr)
- [x] [DPT (ArXiv'2021)](configs/dpt)
- [x] [Segmenter (ICCV'2021)](configs/segmenter)
- [x] [SegFormer (NeurIPS'2021)](configs/segformer)
- [x] [K-Net (NeurIPS'2021)](configs/knet)
- [x] [MaskFormer (NeurIPS'2021)](configs/maskformer)
- [x] [Mask2Former (CVPR'2022)](configs/mask2former)
- [x] [PIDNet (ArXiv'2022)](configs/pidnet)
- [x] [DDRNet (T-ITS'2022)](configs/ddrnet)
- [x] [VPD (ICCV'2023)](configs/vpd)
- [x] [Semantic FPN (CVPR'2019)](configs/sem_fpn)
- [x] [DANet (CVPR'2019)](configs/danet)
- [x] [APCNet (CVPR'2019)](configs/apcnet)
- [x] [NonLocal Net (CVPR'2018)](configs/nonlocal_net)
- [x] [EncNet (CVPR'2018)](configs/encnet)
- [x] [DeepLabV3+ (CVPR'2018)](configs/deeplabv3plus)
- [x] [UPerNet (ECCV'2018)](configs/upernet)
- [x] [ICNet (ECCV'2018)](configs/icnet)
- [x] [PSANet (ECCV'2018)](configs/psanet)
- [x] [BiSeNetV1 (ECCV'2018)](configs/bisenetv1)
- [x] [DeepLabV3 (ArXiv'2017)](configs/deeplabv3)
- [x] [PSPNet (CVPR'2017)](configs/pspnet)
- [x] [ERFNet (T-ITS'2017)](configs/erfnet)
- [x] [UNet (MICCAI'2016/Nat. Methods'2019)](configs/unet)
- [x] [FCN (CVPR'2015/TPAMI'2017)](configs/fcn)

</details>

Expand Down
2 changes: 1 addition & 1 deletion docker/serve/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG CUDNN="8"
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel

ARG MMCV="2.0.1"
ARG MMSEG="1.1.2"
ARG MMSEG="1.2.0"

ENV PYTHONUNBUFFERED TRUE

Expand Down
14 changes: 14 additions & 0 deletions docs/en/notes/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog of v1.x

## v1.2.0 (10/12/2023)

### Features

- Support Side Adapter Network ([#3232](https://github.com/open-mmlab/mmsegmentation/pull/3232))

### Bug Fixes

- fix wrong variables passing for `set_dataset_meta` ([#3348](https://github.com/open-mmlab/mmsegmentation/pull/3348))

### Documentation

- add documentation of Finetune ONNX Models (MMSegemetation) Inference for NVIDIA Jetson ([#3372](https://github.com/open-mmlab/mmsegmentation/pull/3372))

## v1.1.2(09/20/2023)

### Features
Expand Down
1 change: 1 addition & 0 deletions docs/en/notes/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ The compatible MMSegmentation, MMCV and MMEngine versions are as below. Please i
| :--------------------: | :----------------------------: | :---------------: | :---------------------------------: | :----------------------------: |
| dev-1.x branch | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| main branch | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.2.0 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.2 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.1 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.0 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
Expand Down
1 change: 1 addition & 0 deletions docs/zh_cn/notes/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
| :--------------------: | :----------------------------: | :---------------: | :---------------------------------: | :----------------------------: |
| dev-1.x branch | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| main branch | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.2.0 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.2 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.1 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
| 1.1.0 | mmcv >= 2.0.0 | MMEngine >= 0.7.4 | mmpretrain>=1.0.0rc7 | mmdet >= 3.0.0 |
Expand Down
2 changes: 1 addition & 1 deletion mmseg/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from .version import __version__, version_info

MMCV_MIN = '2.0.0rc4'
MMCV_MAX = '2.1.0'
MMCV_MAX = '2.2.0'
MMENGINE_MIN = '0.5.0'
MMENGINE_MAX = '1.0.0'

Expand Down
2 changes: 1 addition & 1 deletion mmseg/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copyright (c) Open-MMLab. All rights reserved.

__version__ = '1.1.2'
__version__ = '1.2.0'


def parse_version_info(version_str):
Expand Down
2 changes: 1 addition & 1 deletion requirements/mminstall.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
mmcv>=2.0.0rc4
mmcv>=2.0.0rc4,<2.2.0
mmengine>=0.5.0,<1.0.0
37 changes: 1 addition & 36 deletions tests/test_models/test_forward.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,28 +127,13 @@ def test_gcnet_forward():
'gcnet/gcnet_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_ann_forward():
_test_encoder_decoder_forward(
'ann/ann_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_ccnet_forward():
if not torch.cuda.is_available():
pytest.skip('CCNet requires CUDA')
_test_encoder_decoder_forward(
'ccnet/ccnet_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_danet_forward():
_test_encoder_decoder_forward(
'danet/danet_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_nonlocal_net_forward():
_test_encoder_decoder_forward(
'nonlocal_net/nonlocal_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_upernet_forward():
_test_encoder_decoder_forward(
'upernet/upernet_r50_4xb2-40k_cityscapes-512x1024.py')
Expand All @@ -164,11 +149,6 @@ def test_ocrnet_forward():
'ocrnet/ocrnet_hr18s_4xb2-40k_cityscapes-512x1024.py')


def test_psanet_forward():
_test_encoder_decoder_forward(
'psanet/psanet_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_sem_fpn_forward():
_test_encoder_decoder_forward(
'sem_fpn/fpn_r50_4xb2-80k_cityscapes-512x1024.py')
Expand All @@ -179,21 +159,6 @@ def test_mobilenet_v2_forward():
'mobilenet_v2/mobilenet-v2-d8_pspnet_4xb2-80k_cityscapes-512x1024.py')


def test_dnlnet_forward():
_test_encoder_decoder_forward(
'dnlnet/dnl_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def test_emanet_forward():
_test_encoder_decoder_forward(
'emanet/emanet_r50-d8_4xb2-80k_cityscapes-512x1024.py')


def test_isanet_forward():
_test_encoder_decoder_forward(
'isanet/isanet_r50-d8_4xb2-40k_cityscapes-512x1024.py')


def get_world_size(process_group):

return 1
Expand Down Expand Up @@ -221,7 +186,7 @@ def _test_encoder_decoder_forward(cfg_file):
num_classes = segmentor.decode_head.num_classes
# batch_size=2 for BatchNorm
packed_inputs = _demo_mm_inputs(
batch_size=2, image_shapes=(3, 32, 32), num_classes=num_classes)
batch_size=2, image_shapes=(3, 4, 4), num_classes=num_classes)
# convert to cuda Tensor if applicable
if torch.cuda.is_available():
segmentor = segmentor.cuda()
Expand Down