Commit Graph

8 Commits (b7d0d521eb12bfa3666dd7a633d534c6ca0de857)

Author SHA1 Message Date
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 24bcf069f8 [Refactor] Refactor dev scripts 2022-07-18 11:11:13 +08:00
Ezra-Yu 088d5b5add [Refactor] Inherit all registries from MMEngine and use inherited registries. 2022-07-18 10:53:27 +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
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 33a4c0fe9f
[Fix] Use local ATTENTION registery to avoid conflict with other repo. (#375) 2021-07-27 17:59:05 +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