Commit Graph

22 Commits (060b0ed3b5cd47e3196c2be922cdaa6a927e8ce2)

Author SHA1 Message Date
Ma Zerun 060b0ed3b5
[Feature] Support ConvNeXt-V2 backbone. (#1294)
* [Feature] Support ConvNeXt-V2.

* Use registry of mmcls instead of mmengine.

* Add README.

* Add unit tests and docs.
2023-01-06 16:13:41 +08:00
Songyang Zhang 5547f4cac4
[Feature] Add TinyViT for dev-1.x. (#1042)
* [Feature] add TinyViT for dev-1.x

* [Feature] update readme

* fix lint error

* refactor the code

* [Update] update the args

* [Update] add unit test and fix bugs

* Rename the configuration file

* delete invalid files

* [Feature] update tinyvit readme

* [Feature] update tinyvit readme

* [Feature] update metafile

* Update tinyvit metafile
2022-12-20 13:04:00 +08:00
Songyang Zhang 81f10ccbb7
[Feature] Support EdgeNeXt for dev-1.x. (#1037)
* [Feature] add EdgeNeXt for dev-1.x

* [Feature] add update

* Imporve EdgeNeXt

* Fix div error in low pytorch version

Co-authored-by: mzr1996 <mzr1996@163.com>
2022-09-21 13:27:04 +08:00
Hubert e4e8047563
[Feature] Support Swin Transformer V2 for MMCLS 1.x. (#1029)
* [Feature] support swin v2 in mmcls 1.x

* fix configs

* fix clamp max

* Fix meshgrid

* Imporve swin v2

Co-authored-by: mzr1996 <mzr1996@163.com>
2022-09-20 15:45:27 +08:00
Ezra-Yu aaf127c5e1
[Feature] Add efficientformer Backbone for MMCls 1.x. (#1031)
* rebase

* update filename

* update URL

* update UT

* fix lint

* update head

* add efficientformer

* update filename

* update UT

* fix lint

* update configs

* rebase

* fix unit tests

* Fix comments and docs.

Co-authored-by: mzr1996 <mzr1996@163.com>
2022-09-20 14:56:45 +08:00
Yuan Liu e4252d6848
[Feature]: Support BEiT Transformer layer. (#919)
* [Feature]: Add BEiT-style transformer encoder layer

* [Feature]: Add average token

* [Fix]: Fix lint

* [Fix]: Refactor CAE config

* [Fix]: Change cv2 backend to pillow backend

* [Fix]: Fix MAE and CAE reshape bug

* [Feature]: Add freeze vit layers

* [Feature]: Add mc

* [Fix]: Fix lint

* [Fix]: Fix dataset bug

* [Fix]: Delete cae selfsup config

* [Fix]: docstring

* [Refactor]: Add init_values to layer_scalue_init_value

* [Fix]: Refine the docstring of avg_token

* [Fix]: Call super init weight in beit attention

* [Fix]: remove mc

* [Fix]: Fix docstring

* [Fix]: Fix docstring

* [Fix]: Fix lint

* [Fix]: Fix init_value bug and change the logic of outputting cls token

* [Fix]: Fix docstring
2022-08-17 00:07:06 +08:00
mzr1996 f3299b4ca2 [Refactor] Refactor batch augmentations 2022-07-18 11:11:13 +08:00
mzr1996 ee6e585e41 Mazerun/base classifier 2022-07-18 11:11:13 +08:00
Yuan Liu fbcf907dc6
[Feature] Support resize relative position embedding in `SwinTransformer`. (#749)
* [Feature]: Add resize rel pos embed

* [Refactor]: Create a separated resize_rel_pos_bias_table func

* [Refactor]: Refactor rel pos embed bias

* [Refactor]: Move interpolate into func

* Remove index buffer only when window_size changes

Co-authored-by: mzr1996 <mzr1996@163.com>
2022-04-13 23:06:56 +08:00
Ma Zerun c708770b42
[Enhance] Support dynamic input shape for ViT-based algorithms. (#706)
* Move `resize_pos_embed` to `mmcls.models.utils`

* Refactor Vision Transformer

* Refactor DeiT

* Refactor MLP-Mixer

* Refactor Swin-Transformer

* Remove `indexing` arg

* Support dynamic inputs for t2t_vit

* Add copyright

* Fix bugs in swin transformer

* Add `pad_small_maps` option

* Update swin transformer

* Handle `attn_mask` in checkpoints of swin

* Imporve by comments
2022-03-03 13:10:12 +08:00
Ezra-Yu 94eb3ff83e
[Feature] Add Twins backbone and convert checkpoints. (#642)
* add twins backbone

* add position_encoding

* refactor twins

* Supplemental unit tests

* update docstring and readme

* update docstring and readme

* update docstring and readme

* update docstring

* update docstring

* update docstring

* update docstring

* remove note

* update doc and docstring

* update docstring

* update docstring

* use abstract pdf link and rename yamlfile

* Update model link

Co-authored-by: mzr1996 <mzr1996@163.com>
2022-01-27 10:25:05 +08:00
Ma Zerun 2932f9d8a3
[Refactor] Refator ViT (Continue #295) (#395)
* [Squash] Refator ViT (from #295)

* Use base variable to simplify auto_aug setting

* Use common PatchEmbed, remove HybridEmbed and refactor ViT init
structure.

* Add `output_cls_token` option and change the output format of ViT and
input format of ViT head.

* Update unit tests and add test for `output_cls_token`.

* Support out_indices.

* Standardize config files

* Support resize position embedding.

* Add readme file of vit

* Rename config file

* Improve docs about ViT.

* Update docstring

* Use local version `MultiheadAttention` instead of mmcv version.

* Fix MultiheadAttention

* Support `qk_scale` argument in `MultiheadAttention`

* Improve docs and change `layer_cfg` to `layer_cfgs` and support
sequence.

* Use init_cfg to init Linear layer in VisionTransformerHead

* update metafile

* Update checkpoints and configs

* Imporve docstring.

* Update README

* Revert GAP modification.
2021-10-18 16:07:00 +08:00
Ma Zerun f9eb9b409b
[Docs] Add Copyright information. (#413) 2021-08-17 19:52:42 +08:00
Ma Zerun 71621a5f62
Add `is_tracing` helper function to fix a tracing bug in PyTorch 1.6 (#347) 2021-07-07 11:55:53 +08:00
Ma Zerun 076ee10cac
[Feature] Add swin-transformer model. (#271)
* 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.
2021-07-01 09:30:42 +08:00
whcao bee0ac6b56
[Refactor]Modify patchembed (#330)
* 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
2021-06-30 20:48:04 +08:00
whcao 3a08db9182
[Feature]Add augments to models/utils (#278)
* 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
2021-06-20 09:44:51 +08:00
whcao affb39fe07
[Feature]Add Vit (#214)
* 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 helpers.py

* test vit hybrid backbone

* fix HybridEmbed

* use to_2tuple instead
2021-04-16 19:22:41 +08:00
whcao 1cde6f6e65
[Feature] Add cutmix option (#198)
* Add cutmix option

* fix code style

* add some annotations

* add annotation about custom_hooks

* check constraint of alpha > 0

* add test cutmix

* fix code style

* add cutmix to configs/models

* add cutmix to configs/resnet

* flake8

* empty
2021-04-14 21:27:42 +08:00
ftbabi bdd6b01ae7
[Feature] Add "mixup" from Bag of Tricks (#160)
* Add mixup option

* Modify the structure of mixup and add configs

* Clean configs

* Add test for mixup and SoftCrossEntropyLoss

* Add simple test for ImageClassifier

* Fix bug in test_losses.py

* Add assertion in CrossEntropyLoss
2021-02-25 14:06:58 +08:00
louzan 03b75789c6 Dev mobilenetv3 2020-06-30 15:50:36 +08:00
lixiaojie 29975930f9 Dev/backbone utils 2020-06-15 16:42:15 +08:00