* Add swin transformer archs S, B and L.
* Add SwinTransformer configs
* Add train config files of swin.
* Align init method with original code
* Use nn.Unfold to merge patch
* Change all ConfigDict to dict
* Add init_cfg for all subclasses of BaseModule.
* Use mmcv version init function
* Add Swin README
* Use safer cfg copy method
* Improve docstring and variable name.
* Fix some difference in randaug
Fix BGR bug, align scheduler config.
Fix label smoothing parameter difference.
* Fix missing droppath in attn
* Fix bug of relative posititon table if window width is not equal to
height.
* Make `PatchMerging` more general, support kernel, stride, padding and
dilation.
* Rename `residual` to `identity` in attention and FFN.
* Add `auto_pad` option to auto pad feature map
* Improve docstring.
* Fix bug in ShiftWMSA padding.
* Remove unused `key` and `value` in ShiftWMSA
* Move `PatchMerging` into utils and use common `PatchEmbed`.
* Use latest `LinearClsHead`, train augments and label smooth settings.
And remove original `SwinLinearClsHead`.
* Mark some configs as "Evalution Only".
* Remove useless comment in config
* 1. Move ShiftWindowMSA and WindowMSA to `utils/attention.py`
2. Add docstrings of each module.
3. Fix some variables' names.
4. Other small improvement.
* Add unit tests of swin-transformer and patchmerging.
* Fix some bugs in unit tests.
* Fix bug of rel_position_index if window is not square.
* Make WindowMSA implicit, and add unit tests.
* Add metafile.yml, update readme and model_zoo.
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* add patchembed and hybridembed
* add patchembed and hybridembed to __init__
* test patchembed and hybridembed
* fix some comments
* Refactor Mobilenetv3 structure and add ConvClsHead.
* Change model's name from 'MobileNetv3' to 'MobileNetV3'
* Modify configs for MobileNetV3 on CIFAR10.
And add MobileNetV3 configs for imagenet
* Fix activate setting bugs in MobileNetV3.
And remove bias in SELayer.
* Modify unittest
* Remove useless config and file.
* Fix mobilenetv3-large arch setting
* Add dropout option in ConvClsHead
* Fix MobilenetV3 structure according to torchvision version.
1. Remove with_expand_conv option in InvertedResidual, it should be decided by channels.
2. Revert activation function, should before SE layer.
* Format code.
* Rename MobilenetV3 arch "big" to "large".
* Add mobilenetv3_small torchvision training recipe
* Modify default `out_indices` of MobilenetV3, now it will change
according to `arch` if not specified.
* Add MobilenetV3 large config.
* Add mobilenetv3 README
* Modify InvertedResidual unit test.
* Refactor ConvClsHead to StackedLinearClsHead, and add unit tests.
* Add unit test for `simple_test` of `StackedLinearClsHead`.
* Fix typo
Co-authored-by: Yidi Shao <ydshao@smail.nju.edu.cn>
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* add rand_bbox_minmax rand_bbox and cutmix_bbox_and_lam to BaseCutMixLayer
* add mixup_prob to BatchMixupLayer
* add cutmixup
* add cutmixup to __init__
* test classifier with cutmixup
* delete some comments
* set mixup_prob default to 1.0
* add cutmixup to classifier
* use cutmixup
* use cutmixup
* fix bugs
* test cutmixup
* move mixup and cutmix to augment
* inherit from BaseAugment
* add BaseAugment
* inherit from BaseAugment
* rename identity.py
* add @
* build augment
* register module
* rename to augment.py
* delete cutmixup.py
* do not inherit from BaseAugment
* add augments
* use augments in classifier
* prob default to 1.0
* add comments
* use augments
* use augments
* assert sum of augmentation probabilities should equal to 1
* augmentation probabilities equal to 1
* calculate Identity prob
* replace xxx with self.xxx
* add comments
* sync with augments
* for BC-breaking
* delete useless comments in mixup.py
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* register custom_hooks in runner
* set custom_hooks_config to cfg.get(custom_hooks, None)
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* move init_cfg to parameter
* isort
* Use a sentinel value to denote the default init_cfg
* Refector label smooth loss, now support mode `original`, `classy_vision`
and `multi_label`.
* Add unittests for label smooth loss.
* Improve docstring of LSR
* add increasing in solarize and posterize
* fix linting
* Revert "add increasing in solarize and posterize"
This reverts commit 128af36e9b.
* revise according to comments
* Add paramater magnitude_std in RandAugment to allow randomly movement of magnitude_value
* Add unittest for magnitude_std
* Improve docstring of magnitude_std
* GlabelAveragePooling support 1d, 2d and 3d by param, and add neck test
* Imporve neck test
* Change 'mode' attribute in GAP to 'dim', and add docstring
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* set cal_acc in ClsHead defaults to False
* set cal_acc defaults to False
* use *args, **kwargs instead
* change bs16 to 3 in test_image_classifier_vit
* fix some comments
* change cal_acc=True
* test LinearClsHead
* add imagenet bs 4096
* add vit_base_patch16_224_finetune
* add vit_base_patch16_224_pretrain
* add vit_base_patch16_384_finetune
* add vit_base_patch16_384_finetune
* add vit_b_p16_224_finetune_imagenet
* add vit_b_p16_224_pretrain_imagenet
* add vit_b_p16_384_finetune_imagenet
* add vit
* add vit
* add vit head
* vit unitest
* keep up with ClsHead
* test vit
* add flag to determiine whether to calculate acc during training
* Changes related to mmcv1.3.0
* change checkpoint saving interval to 10
* add label smooth
* default_runtime.py recovery
* docformatter
* docformatter
* delete 2 lines of comments
* delete configs/_base_/schedules/imagenet_bs4096.py
* add configs/_base_/schedules/imagenet_bs2048_AdamW.py
* rename imagenet_bs4096.py to imagenet_bs2048_AdamW.py
* add AutoAugment
* fix weight decay in vit
* change eval interval to 10
* add mytrain.py for test
* test before layers
* test attr in layers
* test classifier
* delete mytrain.py
* delete @torch.jit.ignore
* change eval interval back to 1
* add some comments to imagenet_bs2048_AdamW
* add some comments
* add convert_to_one_hot
* add test_label_smooth_loss
* add my label_smooth_loss
* fix CELoss bug
* test new label smooth loss
* LabelSmoothLoss downward compatibility
* add some comments
* remove the old version of LabelSmoothLoss
* add some comments
* add some comments
* add some comments
* add label smooth to config
* support random augmentation
* minor fix on posterize
* minor fix on posterize
* minor fix on cutout
* minor fix on cutout
* fix bug in solarize add
* revised according to comments