Commit Graph

103 Commits (214d083ccefcecd01a59308aeea02359e8292f03)

Author SHA1 Message Date
Ze Liu 214d083cce [WIP] Add Swin Transformer (#511)
* add Swin Transformer

* add Swin Transformer

* fixed import

* Add some swin training settings.

* Fix some filename error.

* Fix attribute name: pretrain -> pretrained

* Upload mmcls implementation of swin transformer.

* Refactor Swin Transformer to follow mmcls style.

* Refactor init_weigths of swin_transformer.py

* Fix lint

* Match inference precision

* Add some comments

* Add swin_convert to load official style ckpt

* Remove arg: auto_pad

* 1. Complete comments for each block;

2. Correct weight convert function;

3. Fix the pad of Patch Merging;

* Clean function args.

* Fix vit unit test.

* 1. Add swin transformer unit tests;

2. Fix some pad bug;

3. Modify config to adapt new swin implementation;

* Modify config arg

* Update readme.md of swin

* Fix config arg error and Add some swin benchmark msg.

* Add MeM and ms test content for readme.md of swin transformer.

* Fix doc string of swin module

* 1. Register swin transformer to model list;

2. Modify pth url which keep meta attribute;

* Update swin.py

* Merge config settings.

* Modify config style.

* Update README.md

Add ViT link

* Modify main readme.md

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
Co-authored-by: sennnnn <201730271412@mail.scut.edu.cn>
Co-authored-by: Junjun2016 <hejunjun@sjtu.edu.cn>
2021-07-01 23:41:55 +08:00
谢昕辰 5245edb0a0 add configs for vit backbone plus decode_heads (#520)
* add config

* add cityscapes config

* add default value to docstring

* fix lint

* add deit-s and deit-b

* add readme

* add eps at norm_cfg

* add drop_path_rate experiment

* add deit case at init_weight

* add upernet result

* update result and add upernet 160k config

* update upernet result and fix settings

* Update iters number

* update result and delete some configs

* fix import error

* fix drop_path_rate

* update result and restore config

* update benchmark result

* remove cityscapes exp

* remove neck

* neck exp

* add more configs

* fix init error

* fix ffn setting

* update result

* update results

* update result

* update results and fill table

* delete or rename configs

* fix link delimiter

* rename configs and fix link

* rename neck to mln
2021-07-01 23:00:39 +08:00
Jerry Jiarui XU bf746bf737 [Feature] Support persistent_workers in DataLoader (PyTorch>=1.7.0) (#646) 2021-06-28 17:39:32 +08:00
sennnnn 60baa4e841 [Fix] Add setr & vit msg. (#635)
* [Fix] Add setr & vit msg.

* Fix init bug

* Modify init_cfg arg

* Add conv_seg init
2021-06-23 22:25:06 -07:00
Sixiao Zheng 5876868a48 [Feature] Official implementation of SETR (#531)
* 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>
2021-06-23 09:39:29 -07:00
sennnnn 2a9bf2d21b [Fix] Fix some vit init bugs (#609)
* [Fix] Fix vit init bug

* Add some vit unit tests

* Modify module import

* Fix pretrain weights bug

* Modify pretrained judge

* Add some unit tests to improve code cov

* Optimize code

* Fix vit unit test
2021-06-19 15:53:13 -07:00
sennnnn c01abb4f30 [Refactor] Using mmcv transformer bricks to refactor vit. (#571)
* [Refactor] Using mmcv bricks to refactor vit

* Follow the vit code structure from mmclassification

* Add MMCV install into CI system.

* Add  to 'Install MMCV' CI item

* Add 'Install MMCV_CPU' and 'Install MMCV_GPU CI' items

* Fix & Add

1. Fix low code coverage of vit.py;

2. Remove HybirdEmbed;

3. Fix doc string of VisionTransformer;

* Add helpers unit test.

* Add converter to convert vit pretrain weights from timm style to mmcls style.

* Clean some rebundant code and refactor init

1. Use timm style init_weights;

2. Remove to_xtuple and trunc_norm_;

* Add comments for VisionTransformer.init_weights()

* Add arg: pretrain_style to choose timm or mmcls vit pretrain weights.
2021-06-17 10:41:25 -07:00
Jerry Jiarui XU 7d52bc0caa Bump to v0.14.1 (#604) 2021-06-16 21:49:56 -07:00
Jerry Jiarui XU 9849a8dc23 [Refactor]: Unified parameter initialization (#567)
* [Refactor]: Unified parameter initialization

* fixed pretrained
2021-06-16 21:41:29 -07:00
Jerry Jiarui XU af6478dd7a Bump to v0.14 (#580) 2021-06-02 18:43:08 -07:00
Yinhao Li 02b5d768aa [feature]: Able to use save_best option (#575)
* Add  save_best option in eval_hook.

* Update meta to fix best model can not test bug

* refactor with _do_evaluate

* remove redundent

* add meta

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2021-06-02 16:25:26 -07:00
sennnnn 83df7ec21a [Feature] Add results2img, format_results for ade dataset (#544)
* [Feature] Add results2img, format_results for ade dataset.

* clean rebundant code.
2021-05-16 19:29:28 -07:00
谢昕辰 1052f8d5d3 support loading deit weights (#538) 2021-05-08 20:34:18 -07:00
Ziyi Wu f253451b54 infer batch size using len(result) in test function (#532) 2021-05-06 08:16:46 -07:00
RangiLyu aa14be1871 fix typo (#533) 2021-05-06 08:16:06 -07:00
sennnnn 5c195db1bd Add option for output shape of ViT (#530)
* 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;
2021-05-05 22:49:28 -07:00
Jerry Jiarui XU 0d477ac577 Bump to v0.13 (#529) 2021-05-05 16:56:19 -07:00
谢昕辰 4f2ef8af78 Use MMCV's EvalHook in MMSegmentation (#438)
* mmcv eval hook

* mmcv evalhook compatible

* add warnings

* inherit from base class

* fix unitest

* adapt to mmcv 1.3.1

* fixed unittest

* set by_epoch=False

* fixed efficient test

* update docstring

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2021-05-05 16:19:54 -07:00
sshuair 7fbdd6f197 add metric mFscore (#509)
* add mFscore and refactor the metrics return value

* fix linting

* some docstring and name fix
2021-04-30 11:34:57 -07:00
sennnnn c27ef91942 Adjust vision transformer backbone architectures (#524)
* 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;

* * Add arg: out_indices to control model output;

* Add unit test for DropPath;

* Apply suggestions from code review

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2021-04-30 10:37:47 -07:00
Ziyi Wu 771ca7d3e0 [Enhance] Support reading class_weight from file in loss functions to help MMDet3D (#513)
* support reading class_weight from file in loss function

* add unit test of loss with class_weight from file

* minor fix

* move get_class_weight to utils
2021-04-29 01:04:15 -07:00
Ziyi Wu ce56e68d30 [Enhance] Replace data_dict calling 'img' key to support MMDet3D (#514)
* remove dict calling img key for compatibility

* fix unit test

* infer batch size using len(result) to be consistent with mmcv
2021-04-29 01:01:34 -07:00
Jerry Jiarui XU fb031c59c8 [Refactor] Use MMCV MODEL_REGISTRY (#515)
* [Refactor] Use MMCV MODEL_REGISTRY

* fixed args
2021-04-27 23:51:09 -07:00
谢昕辰 07cc26ae5a add upsample neck (#512)
* init

* upsample v1.0

* fix errors

* change to in_channels list

* add unittest, docstring, norm/act config and rename

Co-authored-by: xiexinch <test767803@foxmail.com>
2021-04-24 21:22:09 -07:00
谢昕辰 b379b5a5b3 support transformer backbone (#465)
* vit backbone

* fix lint

* add docstrings and fix pretrained pos_embed dim not match prob

* add unittest for vit

* fix lint

* add vit based fcn configs

* fix import error

* support multiple resolution input images

* upsample pos_embed at init_weights

* support resize pos_embed at evaluation

* fix training errors

* add more unitest code for vit backbone

* unitest for uncovered code

* add norm_eval unittest

* refactor _pos_embeding

* minor change

* change var name

* rafactor init_weight

* load weights after resize

* ignore 'module' in pretrain checkpoint

* add with_cp

* add with_cp

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2021-04-21 20:19:55 -07:00
sennnnn 38d2e969dd Add support for Pascal Context 59 classes (#459)
* 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>
2021-04-19 21:20:54 -07:00
Ziyi Wu c4049bab3e add BaseSegmentor import to segmentors/__init__.py (#495) 2021-04-19 08:52:42 -07:00
sennnnn d3603e5335 Fix mIoU calculatiton range (#471)
* Fix fence(IoU) = 0 when training on PascalContextDataset59;

* Add a test case in test_metrics() of tests/test_metrics.py to test the bug caused by torch.histc;

* Update tests/test_metrics.py

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2021-04-14 08:37:23 -07:00
q.yao bc2dc1277a add dynamic export and visualize to pytorch2onnx (#463)
* add dynamic export and visualize to pytorch2onnx

* update document

* fix lint

* fix dynamic error and add visualization

* fix lint

* update docstring

* update doc

* Update help info for --show

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>

* fix lint

Co-authored-by: maningsheng <maningsheng@sensetime.com>
Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2021-04-12 11:54:59 -07:00
Jerry Jiarui XU d283ca6fea [Improvement] Add more CI (#460)
* add more CI

* fix missing

* remove python-version

* fixed acc
2021-04-08 19:29:00 -07:00
Jerry Jiarui XU ac2aab74e9 Bump to v0.12 (#455) 2021-04-03 21:02:56 -07:00
Jerry Jiarui XU 3150dd0ce4 refactor test organization (#440)
* refactor test organization

* fixed se layer

* update mmcv uper bound
2021-03-30 17:55:09 -07:00
lizz fcad6df7a6 Save base_channels for UNet (#450)
Signed-off-by: lizz <lizz@sensetime.com>
2021-03-30 09:52:08 -07:00
lizz bbb9f074f6 Fix typo: upsampe_cfg -> upsample_cfg (#449)
* Fix typo: upsampe_cfg -> upsample_cfg

Signed-off-by: lizz <lizz@sensetime.com>

* convoluton -> convolution

Signed-off-by: lizz <lizz@sensetime.com>

* more

Signed-off-by: lizz <lizz@sensetime.com>

* ok

Signed-off-by: lizz <lizz@sensetime.com>
2021-03-30 09:51:38 -07:00
sshuair 7c329fa775 Include each class metrics in logs (#445)
* Include each class metrics in logs

* format

* fix the unitest

* fix the custom int class_name

* fix the custom int class_name
2021-03-29 09:53:54 -07:00
谢昕辰 71be1c2793 [Bug fixed]Fix dice_loss errors (#417)
* fix training bugs

* fix unitest error

* fix error in num_classes==2 case

* delete comments
2021-03-29 09:49:54 -07:00
谢昕辰 d474cfde4b pytorch metrics implementation (#430)
* pytorch metrics impl and test

* support list[str] input, delete unused test code and delete numpy version

* modify input data type

* add docstring and unitest of filename inputs

* add indents in docstring and use tempfile lib to create dir

* using with statement
2021-03-29 09:49:14 -07:00
David de la Iglesia Castro 9cbb4b1288 Add opacity option to show_result (#425) 2021-03-22 20:34:38 -07:00
谢昕辰 bac0714347 Support fcn dilate 6 (#400)
* Support fcn dilate 6

* Support dilate in FCNHead

* configs for cityscapse dataset

* add configs for pytorch pretrained model

* update README

* add fps test results

* add memory test results and links

* modify log names

* Update mmseg/models/decode_heads/fcn_head.py

Co-authored-by: Jerry Jiarui XU <xvjiarui0826@gmail.com>
2021-03-20 10:32:04 -07:00
谢昕辰 a3b523e3fd dice loss (#396)
* dice loss

* format code, add docstring and calculate denominator without valid_mask

* minor change

* restore
2021-03-10 18:32:37 -08:00
Jerry Jiarui XU 96ddb41c6e Fix PhotoMetricDistortion docstring (#388) 2021-02-24 18:22:00 -08:00
Jerry Jiarui XU 45f07af4c8 Bump v0.11 (#368)
* bump to v0.11

* update readme
2021-02-02 15:09:20 -08:00
Jerry Jiarui XU f3cf96b63e [Bug fix] Fixed ADE20k test (#359)
* [Bug fix] Fixed ADE20k test

* fixed ade cfg
2021-01-24 02:17:59 -08:00
Jerry Jiarui XU 4423d32702 [Improvement] Move train_cfg/test_cfg inside model (#341)
* [Improvement] Move train_cfg/test_cfg inside model

* fixed config dict

* fixed config dict
2021-01-19 17:06:23 -08:00
yamengxi c8bbd3fa95 [New Feature]add lovasz loss (#351)
* add lovasz loss

* Modify as comments

* Modify paper url

* add unittest and remove Var

* impove unittest
2021-01-18 19:05:30 -08:00
yamengxi 7e156454a2 memory efficient test (#330)
* memory efficient test

* implement efficient test

* merge

* Add document and docstring

* fix unit test

* add memory usage report
2021-01-09 23:47:31 -08:00
yamengxi 022b055a66 [Bug Fix] Fix TTA resize scale (#334)
* fix tta bug

* modify as suggested

* fix test_tta bug
2021-01-07 09:58:34 -08:00
Jerry Jiarui XU 5eafe8f6df Bump to v0.10 (#325)
* Bump to v0.10

* change version
2021-01-02 15:29:56 -08:00
yamengxi 25d8d77fab [New model] Support MobileNetV3 (#268)
* delete markdownlint

* Support MobileNetV3

* fix import

* add mobilenetv3 head and configs

* Modify MobileNetV3 to semantic segmentation version

* modify mobilenetv3 configs

* add std configs

* fix Conv2dAdaptivePadding bug

* add configs

* add unitest and fix bugs

* fix lraspp unitest bugs

* restore

* fix unitest

* add MobileNetV3 docstring

* add mmcv

* add mmcv

* fix syntax bug

* fix unitest bug

* fix unitest bug

* fix unitest bugs

* fix docstring

* add configs

* restore

* delete unnecessary assert

* modify unitest

* delete benchmark
2020-12-26 00:02:50 -08:00
Junjun2016 b9ba9f6ce7 Support DMNet (#313)
* Support DMNet

* fix doc and delete norm_name
2020-12-23 22:16:34 -08:00