Commit Graph

214 Commits (08eb9a4e1d2547cd4e5a13b0db34940d0483778f)

Author SHA1 Message Date
jinxianwei 08eb9a4e1d
[Doc] for Visualization feature map using wandb backend in dev-1.x (#2557)
## Motivation

Docs for Visualization featusre map using wandb backend.

## Modification

Add a new markdown file and result demo of wandb.

---------

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-02-08 19:53:50 +08:00
wangjiangben-hw 916ed2b2e2
[NPU] add npu result (#2569)
Motivation
add NPU results.

Modification
add docs/en/device/npu.md and docs/zh_cn/device/npu.md that accompanies
the submission results.

---------

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2023-02-07 16:36:36 +08:00
MengzhangLI b2577e0ba0
[Doc] Add EN custmized runtime doc in dev-1.x (#2533)
## Motivation
Translate Chinese version customized runtime doc into English
https://github.com/open-mmlab/mmsegmentation/pull/2502.
2023-02-07 14:47:22 +08:00
Andrew Lau 49b062e365
CodeCamp #139 [Feature] Support REFUGE dataset. (#2554)
## Motivation 
Add REFUGE datasets
Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2420

---------

Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
2023-02-03 16:02:19 +08:00
谢昕辰 7ac0888d9f
Bump v1.0.0rc5 (#2549)
as title
2023-02-01 20:34:20 +08:00
Qingyun a092fea8c1
[Fix] Fix MaskFormer and Mask2Former of MMSegmentation (#2532)
## Motivation

The DETR-related modules have been refactored in
open-mmlab/mmdetection#8763, which causes breakings of MaskFormer and
Mask2Former in both MMDetection (has been fixed in
open-mmlab/mmdetection#9515) and MMSegmentation. This pr fix the bugs in
MMSegmentation.

### TO-DO List

- [x] update configs
- [x] check and modify data flow
- [x] fix unit test
- [x] aligning inference
- [x] write a ckpt converter
- [x] write ckpt update script
- [x] update model zoo
- [x] update model link in readme
- [x] update
[faq.md](https://github.com/open-mmlab/mmsegmentation/blob/dev-1.x/docs/en/notes/faq.md#installation)

## Tips of Fixing other implementations based on MaskXFormer of mmseg

1. The Transformer modules should be built directly. The original
building with register manner has been refactored.
2. The config requires to be modified. Delete `type` and modify several
keys, according to the modifications in this pr.
3. The `batch_first` is set `True` uniformly in the new implementations.
Hence the data flow requires to be transposed and config of
`batch_first` needs to be modified.
4. The checkpoint trained on the old implementation should be converted
to be used in the new one.

### Convert script

```Python
import argparse
from copy import deepcopy
from collections import OrderedDict

import torch

from mmengine.config import Config
from mmseg.models import build_segmentor
from mmseg.utils import register_all_modules
register_all_modules(init_default_scope=True)


def parse_args():
    parser = argparse.ArgumentParser(
        description='MMSeg convert MaskXFormer model, by Li-Qingyun')
    parser.add_argument('Mask_what_former', type=int,
                        help='Mask what former, can be a `1` or `2`',
                        choices=[1, 2])
    parser.add_argument('CFG_FILE', help='config file path')
    parser.add_argument('OLD_CKPT_FILEPATH', help='old ckpt file path')
    parser.add_argument('NEW_CKPT_FILEPATH', help='new ckpt file path')
    args = parser.parse_args()
    return args


args = parse_args()

def get_new_name(old_name: str):
    new_name = old_name

    if 'encoder.layers' in new_name:
        new_name = new_name.replace('attentions.0', 'self_attn')

    new_name = new_name.replace('ffns.0', 'ffn')

    if 'decoder.layers' in new_name:

        if args.Mask_what_former == 2:
            # for Mask2Former
            new_name = new_name.replace('attentions.0', 'cross_attn')
            new_name = new_name.replace('attentions.1', 'self_attn')
        else:
            # for Mask2Former
            new_name = new_name.replace('attentions.0', 'self_attn')
            new_name = new_name.replace('attentions.1', 'cross_attn')

    return new_name
    
def cvt_sd(old_sd: OrderedDict):
    new_sd = OrderedDict()
    for name, param in old_sd.items():
        new_name = get_new_name(name)
        assert new_name not in new_sd
        new_sd[new_name] = param
    assert len(new_sd) == len(old_sd)
    return new_sd
    
if __name__ == '__main__':
    cfg = Config.fromfile(args.CFG_FILE)
    model_cfg = cfg.model

    segmentor = build_segmentor(model_cfg)

    refer_sd = segmentor.state_dict()
    old_ckpt = torch.load(args.OLD_CKPT_FILEPATH)
    old_sd = old_ckpt['state_dict']

    new_sd = cvt_sd(old_sd)
    print(segmentor.load_state_dict(new_sd))

    new_ckpt = deepcopy(old_ckpt)
    new_ckpt['state_dict'] = new_sd
    torch.save(new_ckpt, args.NEW_CKPT_FILEPATH)
    print(f'{args.NEW_CKPT_FILEPATH} has been saved!')
```

Usage:
```bash
# for example
python ckpt4pr2532.py 1 configs/maskformer/maskformer_r50-d32_8xb2-160k_ade20k-512x512.py original_ckpts/maskformer_r50-d32_8xb2-160k_ade20k-512x512_20221030_182724-cbd39cc1.pth cvt_outputs/maskformer_r50-d32_8xb2-160k_ade20k-512x512_20221030_182724.pth
python ckpt4pr2532.py 2 configs/mask2former/mask2former_r50_8xb2-160k_ade20k-512x512.py original_ckpts/mask2former_r50_8xb2-160k_ade20k-512x512_20221204_000055-4c62652d.pth cvt_outputs/mask2former_r50_8xb2-160k_ade20k-512x512_20221204_000055.pth
```

---------

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-02-01 18:58:21 +08:00
谢昕辰 124b87ce90
[Refactor] Refactor fileio (#2543)
## Motivation

Use the new fileio from mmengine
https://github.com/open-mmlab/mmengine/pull/533

## Modification

1. Use `mmengine.fileio` to repalce FileClient  in mmseg/datasets
2. Use `mmengine.fileio` to repalce FileClient in
mmseg/datasets/transforms
3. Use `mmengine.fileio` to repalce FileClient in mmseg/visualization

## BC-breaking (Optional)

we modify all the dataset configurations, so please use the latest config file.
2023-02-01 17:53:22 +08:00
谢昕辰 18ee41eb7a
Bump v1.0.0rc4 (#2529) 2023-01-30 17:53:07 +08:00
Siddharth Ancha 6b53ec0a1f
[Doc] Fix minor typo in migration `package.md` (#2518)
Co-authored-by: xiexinch <xiexinch@outlook.com>
2023-01-30 12:02:09 +08:00
MengzhangLI a115b10323
[Doc] Add EN datasets.md in dev-1.x (#2464)
Add English version of `datasets.md`, the Chinese version is in
https://github.com/open-mmlab/mmsegmentation/pull/2387.

Co-authored-by: MeowZheng <meowzheng@outlook.com>
2023-01-22 15:55:30 +08:00
MengzhangLI f678a5c974
[Doc] Add ZN Customized_runtime Doc in dev-1.x (#2502)
Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2169
2023-01-19 16:29:56 +08:00
MengzhangLI c2ba8ebac1
[Fix][Doc] Fix link of preprocessing and order of operations in ZN dataset.md doc. (#2494)
## Motivation

Ref:
https://github.com/open-mmlab/mmsegmentation/pull/2464#discussion_r1072211706

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2023-01-19 14:26:26 +08:00
谢昕辰 d505ec1c94
[Doc] Fix API document (#2483)
## Motivation

As title.

## Modification

- docs/en/api.rst
- docs/zh_cn/api.rst
- add `scipy` to readthedocs requirement.
2023-01-13 20:06:30 +08:00
MengzhangLI 546f3b5b20
[Doc] Update ZN dataset preparation of Synapse (#2465)
## Motivation
- Add Chinese version of Synapse dataset preparation.
- Modify all `,` and `。` to `,` and `.` in
`docs/zh_cn/user_guides/2_dataset_prepare.md`.
2023-01-11 11:50:47 +08:00
王永韬 2d67e51db3
CodeCamp #140 [New] [Feature] Add synapse dataset and data augmentation in dev-1.x. (#2432)
## Motivation

Add Synapse dataset in MMSegmentation.
Old PR: https://github.com/open-mmlab/mmsegmentation/pull/2372.
2023-01-06 16:14:54 +08:00
Fivethousand 3ca690bad3
[Feature] Add BioMedicalRandomGamma (#2406)
Add the random gamma correction transform for biomedical images, which
follows the design of the nnUNet.
2023-01-02 21:29:03 +08:00
Miao Zheng 6eb1a95a48
Bump 1.0.0rc3 (#2446)
## Motivation

To release 1.0.0rc3  

## Modification

1. Modify mmseg version 
2. Add change log
3. Modify README
4. Modify faq 
5. Revise docker file
2022-12-31 18:15:56 +08:00
谢昕辰 115552d5ea update tta docs (#2335) 2022-12-30 22:52:07 +08:00
MengzhangLI 3aa5c8cf84 [Doc] Change some content from customize_runtime to engine ZN doc (#2341)
* [Doc] Change some content from customize_runtime to engine ZN doc

* fix comments

* add customize runtime setting zn doc

* move optimizer content into one section

* fix

* fix

* fix

* fix
2022-12-30 22:52:07 +08:00
谢昕辰 ad99ad1444 [Doc] Add dataflow document (#2403)
* draft

* update loss

* update

* add runner

* add steps

* update
2022-12-30 22:52:07 +08:00
tianlei 4eb366b07c CodeCamp #1565 [Doc] update the Chinese version of get_started.md (#2417)
* DOC

Update docs/zh_cn/get_started.md

Co-authored-by: 谢昕辰 <xiexinch@outlook.com>
2022-12-30 22:52:07 +08:00
MengzhangLI 3001e93512 [Doc] Add ZN datasets.md in dev-1.x (#2387)
* [Doc] Add ZN datasets.md in dev-1.x

* fix typo

* fix

* fix
2022-12-30 22:52:07 +08:00
tianlei ad2fdc3702 CodeCamp #1562 [Doc] Add Chinese version of overview.md (#2397)
* CodeCamp #1562 [Doc] update `overview.md`

* Update overview.md

* Update docs/zh_cn/overview.md

Co-authored-by: 谢昕辰 <xiexinch@outlook.com>

* Update docs/zh_cn/overview.md

Co-authored-by: 谢昕辰 <xiexinch@outlook.com>
2022-12-30 22:52:07 +08:00
BLUE-coconut 82a48ce1bf CodeCamp #147 [Doc] Add Chinese version of train & test tutorial (2355)
doc

modify part of content

changed parts of content

modified

Update docs/zh_cn/user_guides/4_train_test.md

Co-authored-by: 谢昕辰 <xiexinch@outlook.com>
2022-12-30 22:52:07 +08:00
pofengdenihong 665fa4c736 CodeCamp #144 [Doc] Chinese version of config tutorial (2371)
* [Doc]Translate the 1_config.md and modify a wrong statement in 1_config.md

* Translate the 1_config.md and modify a wrong statement in 1_config.md

* Modify some expressions

* Apply suggestions from code review
2022-12-30 22:51:19 +08:00
Miao Zheng 750bb4f180
Bump 1.0.0rc2 (#2384)
* Bump 1.0.0rc2

* typo
2022-12-06 16:32:52 +08:00
xiexinch 6d3464a613 fix lint 2022-11-29 19:20:25 +08:00
MingJian.L ccc20052ee
Update visualization.md 2022-11-29 18:49:14 +08:00
MingJian.L 5d3ecd1686
Update visualization.md 2022-11-29 14:34:28 +08:00
MingJian.L 840b5b7320
Update visualization.md 2022-11-23 13:04:48 +08:00
MingJian.L fd0fffc509
Update visualization.md 2022-11-18 10:58:43 +08:00
MingJian.L 2b854e64f1
Update visualization.md 2022-11-13 12:43:05 +08:00
MingJian.L ef0f56d88b
Update visualization.md 2022-11-12 21:01:38 +08:00
Miao Zheng 124ec8200f
Merge pull request #2088 from MengzhangLI/transforms_doc
[Doc] Update transforms Doc
2022-11-03 00:10:06 +08:00
MeowZheng 38c3145f4b refine changelog 2022-11-02 17:15:46 +08:00
MeowZheng ab26606214 typo 2022-11-02 17:12:16 +08:00
MeowZheng ddd2d6f27b fix 2022-11-02 17:00:32 +08:00
MeowZheng 84ed033246 Bump 1.0.0rc1 2022-11-02 16:49:12 +08:00
MeowZheng 85455100d5 Bump 1.0.0rc1 2022-11-02 16:48:28 +08:00
谢昕辰 b5715f3860 [Doc] Update config doc (#2048)
* Update config documentation

* add demos

* update examples

* update links
2022-11-01 21:37:29 +08:00
谢昕辰 2eaf7ee8b3 [Doc] Update inference doc (#2052)
* refactor inference doc

* introduce segdatasample

* add vis example

* fix

* Update docs/en/user_guides/3_inference.md

* update link

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2022-11-01 21:37:29 +08:00
谢昕辰 b8d87d7fe5 [Doc] Update train test doc (#2061)
* draft

* refine structure

* fix typo

* rename single gpu title and redefine --resume

* update introduction

* add notes to load_from
2022-11-01 21:37:29 +08:00
MingJian.L 650be56fcc Update get_started.md (#2148) 2022-11-01 21:37:27 +08:00
MengzhangLI 02d3793f0e
[Doc] Add Engine ZN doc (#2157)
* [Doc] Add Engine ZN doc

* refactor zh_cn doc

* refactor zh_cn doc

* change one subtitle place

* fix
2022-11-01 20:40:01 +08:00
Miao Zheng b21df463d4
[Feature] LIP dataset (#2187)
* [WIP] LIP dataset

* wip

* keep473

* lip dataset prepare

* add ut and test data
2022-10-31 20:47:52 +08:00
MengzhangLI a1f011dc0b
[Doc] Add Data Structures and Elements (#2070)
* [WIP][Doc] Add Data Structures and Elements

* fix

* add

* fix

* add chinses doc

* refactor

* fix

* fix typo

* fix

* fix

* fix typo

* Update docs/en/advanced_guides/structures.md

* Update docs/en/advanced_guides/structures.md

Co-authored-by: Miao Zheng <76149310+MeowZheng@users.noreply.github.com>
2022-10-28 22:22:44 +08:00
Miao Zheng 92ebba6c0e
[Doc] Add Migration documentation (#2066)
* wip

* [Doc] Migration

* [wip] add package changes

* remove zoo stat

* add dataset migration

* add package changes

* revise based on comments

* revise based on comments

* typo

* fix

* add engine requirements

* revise mmcv dependency
2022-10-28 21:20:15 +08:00
谢昕辰 8b392946bb
[Doc] Add evaluation doc (#2077)
* introduction

* add evaluator doc and fix typo

* fix ut

* add test dataflow

* add runner reference

* add dataloader config

* fix typo

* minor change
2022-10-13 14:55:04 +08:00
MengzhangLI e2d11d273a
[Fix] Fix typo in installation (#2175)
* [Fix] Fix installation Order of MMEngine and MMCV

* fix

* fix
2022-10-12 16:37:43 +08:00
Range King d61dd2d821
Update get_started.md (#2174)
fix the installation commands
2022-10-12 16:20:30 +08:00