* 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>
* [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
* [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.
* [Feature] Move 'Install MMCV' to a independent CI item.
* Merge MMCV install into MMSEG dependencies install
* Fix bug of 'Install MMCV'
* Remove duplicate CI items
* Fix torch device
* Split cpu env and gpu env into two CI project
* Fix some mmdet related bugs
* Fix mmcv-full install bug of build_cpu CI project.
* 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>
* 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;
* 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>
* 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
* add onnxruntime test tool, update pytorch2onnx to support slice export
* onnx convert with custom output shape, update test code
* update pytorch2onnx, add rescale_shape support, add document
* update doc for lint error fixing
* remove cpu flag in ort_test.py
* change class name, fix cuda error
* remote comment
* fix bug of torch2onnx
* mIOU to mIoU
* Fix "the output num_classes of auxiliary head is not match num_classes of ground truth seg_map".
* Fix spelling mistake;
* Modify "model download link", "log link";
* 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>
* 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>
* 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>