* support random seed for distributed sampler
* move mmseg/utils/dist_util.py to mmseg/core/utils/dist_util.py
* move mmseg/utils/dist_util.py to mmseg/core/utils/dist_util.py
* change dist sampler
* change dist sampler
* fix docstring in sync_random_seed
* support iSAID aerial dataset
* Update and rename docs/dataset_prepare.md to 博士/dataset_prepare.md
* Update dataset_prepare.md
* fix typo
* fix typo
* fix typo
* remove imgviz
* fix wrong order in annotation name
* upload models&logs
* upload models&logs
* add load_annotations
* fix unittest coverage
* fix unittest coverage
* fix correct crop size in config
* fix iSAID unit test
* fix iSAID unit test
* fix typos
* fix wrong crop size in readme
* use smaller figure as test data
* add smaller dataset in test data
* add blank in docs
* use 0 bytes pseudo data
* add footnote and comments for crop size
* change iSAID to isaid and add default value in it
* change iSAID to isaid in _base_
Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
* Fix typo in usage example
* original mosaic code in mmdet
* Adjust mosaic to the semantic segmentation
* Remove bbox test in test_mosaic
* Add unittests
* Fix resize mode for seg_fields
* Fix repr error
* modify Mosaic docs
* modify from Mosaic to RandomMosaic
* Add docstring
* modify Mosaic docstring
* [Docs] Add a blank line before Returns:
* add blank lines
Co-authored-by: MeowZheng <meowzheng@outlook.com>
* Fix typo in usage example
* [Feature] Add CutOut transform
* CutOut repr covered by unittests
* Cutout ignore index, test
* ignore_index -> seg_fill_in, defualt is None
* seg_fill_in is added to repr
* test is modified for seg_fill_in is None
* seg_fill_in (int), 0-255
* add seg_fill_in test
* doc string for seg_fill_in
* rename CutOut to RandomCutOut, add prob
* Add unittest when cutout is False
* update LoveDA dataset api
* revised lint errors in dataset_prepare.md
* revised lint errors in loveda.py
* revised lint errors in loveda.py
* revised lint errors in dataset_prepare.md
* revised lint errors in dataset_prepare.md
* checked with isort and yapf
* checked with isort and yapf
* checked with isort and yapf
* Revert "checked with isort and yapf"
This reverts commit 686a51d9
* Revert "checked with isort and yapf"
This reverts commit b877e121bb.
* Revert "revised lint errors in dataset_prepare.md"
This reverts commit 2289e27c
* Revert "checked with isort and yapf"
This reverts commit 159db2f8
* Revert "checked with isort and yapf"
This reverts commit 159db2f8
* add configs & fix bugs
* update new branch
* upload models&logs and add format-only
* change pretraied model path of HRNet
* fix the errors in dataset_prepare.md
* fix the errors in dataset_prepare.md and configs in loveda.py
* change the description in docs_zh-CN/dataset_prepare.md
* use init_cfg
* fix test converage
* adding pseudo loveda dataset
* adding pseudo loveda dataset
* adding pseudo loveda dataset
* adding pseudo loveda dataset
* adding pseudo loveda dataset
* adding pseudo loveda dataset
* Update docs/dataset_prepare.md
Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
* Update docs_zh-CN/dataset_prepare.md
Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
* Update docs_zh-CN/dataset_prepare.md
Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
* Delete unused lines of unittest and Add docs
* add convert .py file
* add downloading links from zenodo
* move place of LoveDA and Cityscapes in doc
* move place of LoveDA and Cityscapes in doc
Co-authored-by: MengzhangLI <mcmong@pku.edu.cn>
Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
* [Fix] #916 expection string type classes
* add unittests for string path classes
* fix double quote string in test_dataset.py
* move the import to the top of the file
* fix isort lint error
fix isort lint error when move the import to the top of the file
* support load gt for evaluation from multi-backend
* move some code from get_gt_seg_maps to get_one_gt_seg_map
* rename gt_seg_map_loader_conf to gt_seg_map_loader_cfg
* fix doc str
* rename get_one_gt_seg_map to get_gt_seg_map_by_idx
* [Feature] Add tool to show origin or augmented train data
* [Feature] Support eval concate dataset
* Add docstring and modify evaluate of concate dataset
Signed-off-by: FreyWang <wangwxyz@qq.com>
* format concat dataset in subfolder of imgfile_prefix
Signed-off-by: FreyWang <wangwxyz@qq.com>
* add unittest of concate dataset
Signed-off-by: FreyWang <wangwxyz@qq.com>
* update unittest for eval dataset with CLASSES is None
Signed-off-by: FreyWang <wangwxyz@qq.com>
* [FIX] bug of generator, which lead metric to nan when pre_eval=False
Signed-off-by: FreyWang <wangwxyz@qq.com>
* format code
Signed-off-by: FreyWang <wangwxyz@qq.com>
* add more unittest
* add more unittest
* optim concat dataset builder
* Support progressive test with fewer memory cost.
* Temp code
* Using processor to refactor evaluation workflow.
* refactor eval hook.
* Fix process bar.
* Fix middle save argument.
* Modify some variable name of dataset evaluate api.
* Modify some viriable name of eval hook.
* Fix some priority bugs of eval hook.
* Depreciated efficient_test.
* Fix training progress blocked by eval hook.
* Depreciated old test api.
* Fix test api error.
* Modify outer api.
* Build a sampler test api.
* TODO: Refactor format_results.
* Modify variable names.
* Fix num_classes bug.
* Fix sampler index bug.
* Fix grammaly bug.
* Support batch sampler.
* More readable test api.
* Remove some command arg and fix eval hook bug.
* Support format-only arg.
* Modify format_results of datasets.
* Modify tool which use test apis.
* support cityscapes eval
* fixed cityscapes
* 1. Add comments for batch_sampler;
2. Keep eval hook api same and add deprecated warning;
3. Add doc string for dataset.pre_eval;
* Add efficient_test doc string.
* Modify test tool to compat old version.
* Modify eval hook to compat with old version.
* Modify test api to compat old version api.
* Sampler explanation.
* update warning
* Modify deploy_test.py
* compatible with old output, add efficient test back
* clear logic of exclusive
* Warning about efficient_test.
* Modify format_results save folder.
* Fix bugs of format_results.
* Modify deploy_test.py.
* Update doc
* Fix deploy test bugs.
* Fix custom dataset unit tests.
* Fix dataset unit tests.
* Fix eval hook unit tests.
* Fix some imcompatible.
* Add pre_eval argument for eval hooks.
* Update eval hook doc string.
* Make pre_eval false in default.
* Add unit tests for dataset format_results.
* Fix some comments and bc-breaking bug.
* Fix pre_eval set cfg field.
* Remove redundant codes.
Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
* [Feature]Segformer re-implementation
* Using act_cfg and norm_cfg to control activation and normalization
* Split this PR into several little PRs
* Fix lint error
* Remove SegFormerHead
* [Feature] Add segformer decode head and related train config
* Add ade20K trainval support for segformer
1. Add related train and val configs;
2. Add AlignedResize;
* Set arg: find_unused_parameters = True
* parameters init refactor
* 1. Refactor segformer backbone parameters init;
2. Remove rebundant functions and unit tests;
* Remove rebundant codes
* Replace Linear Layer to 1X1 Conv
* Use nn.ModuleList to refactor segformer head.
* Remove local to_xtuple
* 1. Remove rebundant codes;
2. Modify module name;
* Refactor the backbone of segformer using mmcv.cnn.bricks.transformer.py
* Fix some code logic bugs.
* Add mit_convert.py to match pretrain keys of segformer.
* Resolve some comments.
* 1. Add some assert to ensure right params;
2. Support flexible peconv position;
* Add pe_index assert and fix unit test.
* 1. Add doc string for MixVisionTransformer;
2. Add some unit tests for MixVisionTransformer;
* Use hw_shape to pass shape of feature map.
* 1. Fix doc string of MixVisionTransformer;
2. Simplify MixFFN;
3. Modify H, W to hw_shape;
* Add more unit tests.
* Add doc string for shape convertion functions.
* Add some unit tests to improve code coverage.
* Fix Segformer backbone pretrain weights match bug.
* Modify configs of segformer.
* resolve the shape convertion functions doc string.
* Add pad_to_patch_size arg.
* Support progressive test with fewer memory cost.
* Modify default value of pad_to_patch_size arg.
* Temp code
* Using processor to refactor evaluation workflow.
* refactor eval hook.
* Fix process bar.
* Fix middle save argument.
* Modify some variable name of dataset evaluate api.
* Modify some viriable name of eval hook.
* Fix some priority bugs of eval hook.
* Fix some bugs about model loading and eval hook.
* Add ade20k 640x640 dataset.
* Fix related segformer configs.
* Depreciated efficient_test.
* Fix training progress blocked by eval hook.
* Depreciated old test api.
* Modify error patch size.
* Fix pretrain of mit_b0
* Fix the test api error.
* Modify dataset base config.
* Fix test api error.
* Modify outer api.
* Build a sampler test api.
* TODO: Refactor format_results.
* Modify variable names.
* Fix num_classes bug.
* Fix sampler index bug.
* Fix grammaly bug.
* Add part of benchmark results.
* Support batch sampler.
* More readable test api.
* Remove some command arg and fix eval hook bug.
* Support format-only arg.
* Modify format_results of datasets.
* Modify tool which use test apis.
* Update readme.
* Update readme of segformer.
* Updata readme of segformer.
* Update segformer readme and fix segformer mit_b4.
* Update readme of segformer.
* Clean AlignedResize related config.
* Clean code from pr #709
* Clean code from pr #709
* Add 512x512 segformer_mit-b5.
* Fix lint.
* Fix some segformer head bugs.
* Add segformer unit tests.
* Replace AlignedResize to ResizeToMultiple.
* Modify readme of segformer.
* Fix bug of ResizeToMultiple.
* Add ResizeToMultiple unit tests.
* Resolve conflict.
* Simplify the implementation of ResizeToMultiple.
* Update test results.
* Fix multi-scale test error when resize_ratio=1.75 and input size=640x640.
* Update segformer results.
* Update Segformer results.
* Fix some url bugs and pipelines bug.
* Move ckpt convertion to tools.
* Add segformer official pretrain weights usage.
* Clean redundant codes.
* Remove redundant codes.
* Unfied format.
* Add description for segformer converter.
* Update workers.
* Adjust vision transformer backbone architectures;
* Add DropPath, trunc_normal_ for VisionTransformer implementation;
* Add class token buring intermediate period and remove it during final period;
* Fix some parameters loss bug;
* * Store intermediate token features and impose no processes on them;
* Remove class token and reshape entire token feature from NLC to NCHW;
* Fix some doc error
* Add a arg for VisionTransformer backbone to control if input class token into transformer;
* Add stochastic depth decay rule for DropPath;
* * Fix output bug when input_cls_token=False;
* Add related unit test;
* Re-implement of SETR
* Add two head -- SETRUPHead (Naive, PUP) & SETRMLAHead (MLA);
* * Modify some docs of heads of SETR;
* Add MLA auxiliary head of SETR;
* * Modify some arg of setr heads;
* Add unit test for setr heads;
* * Add 768x768 cityscapes dataset config;
* Add Backbone: SETR -- Backbone: MLA, PUP, Naive;
* Add SETR cityscapes training & testing config;
* * Fix the low code coverage of unit test about heads of setr;
* Remove some rebundant error capture;
* * Add pascal context dataset & ade20k dataset config;
* Modify auxiliary head relative config;
* Modify folder structure.
* add setr
* modify vit
* Fix the test_cfg arg position;
* Fix some learning schedule bug;
* optimize setr code
* Add arg: final_reshape to control if converting output feature information from NLC to NCHW;
* Fix the default value of final_reshape;
* Modify arg: final_reshape to arg: out_shape;
* Fix some unit test bug;
* Add MLA neck;
* Modify setr configs to add MLA neck;
* Modify MLA decode head to remove rebundant structure;
* Remove some rebundant files.
* * Fix the code style bug;
* Remove some rebundant files;
* Modify some unit tests of SETR;
* Ignoring CityscapesCoarseDataset and MapillaryDataset.
* Fix the activation function loss bug;
* Fix the img_size bug of SETR_PUP_ADE20K
* * Fix the lint bug of transformers.py;
* Add mla neck unit test;
* Convert vit of setr out shape from NLC to NCHW.
* * Modify Resize action of data pipeline;
* Fix deit related bug;
* Set find_unused_parameters=False for pascal context dataset;
* Remove arg: find_unused_parameters which is False by default.
* Error auxiliary head of PUP deit
* Remove the minimal restrict of slide inference.
* Modify doc string of Resize
* Seperate this part of code to a new PR #544
* * Remove some rebundant codes;
* Modify unit tests of SETR heads;
* Fix the tuple in_channels of mla_deit.
* Modify code style
* Move detailed definition of auxiliary head into model config dict;
* Add some setr config for default cityscapes.py;
* Fix the doc string of SETR head;
* Modify implementation of SETR Heads
* Remove setr aux head and use fcn head to replace it;
* Remove arg: img_size and remove last interpolate op of heads;
* Rename arg: conv3x3_conv1x1 to kernel_size of SETRUPHead;
* non-square input support for setr heads
* Modify config argument for above commits
* Remove norm_layer argument of SETRMLAHead
* Add mla_align_corners for MLAModule interpolate
* [Refactor]Refactor of SETRMLAHead
* Modify Head implementation;
* Modify Head unit test;
* Modify related config file;
* [Refactor]MLA Neck
* Fix config bug
* [Refactor]SETR Naive Head and SETR PUP Head
* [Fix]Fix the lack of arg: act_cfg and arg: norm_cfg
* Fix config error
* Refactor of SETR MLA, Naive, PUP heads.
* Modify some attribute name of SETR Heads.
* Modify setr configs to adapt new vit code.
* Fix trunc_normal_ bug
* Parameters init adjustment.
* Remove redundant doc string of SETRUPHead
* Fix pretrained bug
* [Fix] Fix vit init bug
* Add some vit unit tests
* Modify module import
* Remove norm from PatchEmbed
* Fix pretrain weights bug
* Modify pretrained judge
* Fix some gradient backward bugs.
* Add some unit tests to improve code cov
* Fix init_weights of setr up head
* Add DropPath in FFN
* Finish benchmark of SETR
1. Add benchmark information into README.MD of SETR;
2. Fix some name bugs of vit;
* Remove DropPath implementation and use DropPath from mmcv.
* Modify out_indices arg
* Fix out_indices bug.
* Remove cityscapes base dataset config.
Co-authored-by: sennnnn <201730271412@mail.scut.edu.cn>
Co-authored-by: CuttlefishXuan <zhaoxinxuan1997@gmail.com>
* Add support for Pascal Context 59 classes (#459)
* Create PascalContextDataset59 class in mmseg/datasets/pascal_context.py;
* Set reduce_zero_label=True for train_pipeline and PascalContextDataset59;
* Add some configs for Pascal-Context 59 classes training and testing;
* Try to solve the problem about "fence(IoU)=nan grass(IoU)=0";
* Continue(1): Try to solve the problem about "fence(IoU)=nan grass(IoU)=0";
* ignore files and folders named tempxxx;
* Continue(2): Try to solve the problem about "fence(IoU)=nan grass(IoU)=0";
* Modify the calculation of IoU;
* Modify the CLASSES order of PascalContextDataset;
* Add "fcn", "deeplabv3", "deeplabv3+", "pspnet" config file for model training based on PascalContextDataset59;
Add some ignore items in ".gitignore";
* fix the bug "test_cfg specified in both outer field and model field " of pspnet config file;
* * Clean unnecessary codes;
* Add weighs link, config link, log link and evaluation results about PascalContextDataset59 in README.md
* Add command line argument: "-p | --port", this arg can change the transmit port when you transmit data to distributed machine.
* * Remove rebundant config files;
* Remove "-p|--port" command argument;
Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>