77 Commits

Author SHA1 Message Date
Zhiliang Peng
18f6bb0b10
[Feature] Implement the conformer backbone. (#494)
* implement the conformer

* format code style

* format code style

* reuse the TransformerEncoderLayer in the vision_transformer.py

* Modify variable name

* delete unused params

* Remove warning info in Conformer head since it already exists in
Conformer.

* Rename some variables

* Add unit tests

* Use `getattr` instead of `get_submodule`.

* Remove some useless layers

* Refactor conformer and add configs

* Update configs and add metafile.

* Fix unit tests

* Update README

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-12-07 14:00:17 +08:00
Zhicheng Chen
fc8adbc149
[Enhance] Add metafile, readme and converted models for MLP-Mixer (#539)
* add pth converter

* minor update on config files, add metafile and readme

* add missing readme and minor fixes

* minor fixes

* Update config names and checkpoint download link

* Update model_zoo.md

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-11-24 19:04:19 +08:00
Ma Zerun
f3fbc8b90b
[Docs] Add abstract and image for every paper. (#546) 2021-11-24 17:23:37 +08:00
Ma Zerun
7977dc8e2d
[Improvement] Rename config files according to the config name standard. (#508)
* Update tnt config

* Rename config files

* Update docs

* Update metafile in dev_scripts

* Fix some files

* Remove fp16 metafile and README.

* Fix names in metafiles.
2021-11-19 14:20:35 +08:00
xcnick
3eafc5cbe1
[Feature] Add MLP Mixer Backbone. (#528)
* Add Mlp Mixer

* Fix token_mix FNN add_identity and add out_indices

* Fix mlp_mixer unit test
2021-11-15 18:25:22 +08:00
huoshuai-dot
3f52488d52
[Docs] Add the top-5 acc in ResNet-CIFAR README. (#531)
* Update README.md

* Update README.md
2021-11-12 16:13:41 +08:00
Ma Zerun
d1473e4a7f
[Dependency] Update mmcv dependency version (#509)
* Update mmcv dependency version

* Add code info in some metafiles
2021-11-02 18:08:30 +08:00
mzr1996
b8c3825bb3 Fix uppercase in repvgg metafile 2021-11-02 15:13:26 +08:00
mzr1996
5ac0a1561d [Docs] Fix missing checkpoints links in T2T-ViT. 2021-10-29 10:42:10 +08:00
Ma Zerun
fffa30dd48
[Feature] Add Tokens-to-Token ViT backbone and converted checkpoints. (#467)
* add t2t backbone

* register t2t_vit

* add t2t_vit config

* [Temp] Align posterize transform with timm.

* Fix lint

* Refactor t2t-vit

* Add config for t2t-vit

* Add metafile and README for t2t-vit

* Add unit tests

* configs

* Update metafile and README

* Improve docstring

* Fix batch size which should be 8x64 instead of 8x128

* Fix typo

* Update model zoo

* Update training augments config.

* Move some arguments of T2TModule to T2TViT

* Update docs.

* Update unit test

Co-authored-by: HIT-cwh <2892770585@qq.com>
2021-10-29 10:37:16 +08:00
Ezra-Yu
2ce5825ef1
[Feature] Support ImageNet21k dataset. (#461)
* add imagnet21k

* Update unit test

* update imaenet21k

* use slots

* use slots

* rename Data_item to ImageInfo

* add unit tests

* Update unit tests

* rm some print

* update unit tests

* fix lint

* remove default value of pipeline
2021-10-28 15:22:08 +08:00
Ma Zerun
77a3834531
[Feature] Add Res2Net backbone and converted weights. (#465)
* Add Res2Net from mmdet, and change it to mmcls style.

* Align structure with official repo

* Support `deep_stem` and `avg_down` option

* Add Res2Net configs

* Add metafile&README and update model zoo

* Add unit tests

* Imporve docstring.

* Improve according to comments.
2021-10-20 16:34:22 +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
fd0f5cce92
[Docs] Add model-pages in Model Zoo (#480)
* Add model-pages

* Add shortname in configs

* Use link directly instead of `switch_language.md`

* Auto collapse model-zoo pages.

* Fix link in RegVGG

* Add link replace

* fix lint
2021-10-14 15:26:47 +08:00
Ma Zerun
303855998a
Bump version to v0.16.0. (#471)
* Bump version to v0.16.0.

* Fix link

* Imporve changelog

* Add RepVGG models in modelzoo.
2021-09-30 13:12:19 +08:00
zhangrui_wolf
90496b4687
[Feature] Add RepVGG backbone and checkpoints. (#414)
* Add RepVGG code.

* Add se_module as plugin.

* Add the repvggA0 primitive config

* Change repvggA0.py to fit mmcls

* Add RepVGG configs

* Add repvgg_to_mmcls

* Add tools/deployment/convert_repvggblock_param_to_deploy.py

* Change configs/repvgg/README.md

* Streamlining the number of configuration files.

* Fix lints

* Delete plugins

* Delete code about plugin.

* Modify the code for using se module.

* Modify config to fit repvgg with se.

* Change se_cfg to allow loading of pre-training parameters.

* Reduce the complexity of the configuration file.

* Finsh unitest for repvgg.

* Fix bug about se in repvgg_to_mmcls.

* Rename convert_repvggblock_param_to_deploy.py to reparameterize_repvgg.py, and delete setting about device.

* test commit

* test commit

* test commit command

* Modify repvgg.py to make the code more readable.

* Add value=0 in F.pad()

* Add se_cfg to arch_settings.

* Fix bug.

* modeify some attr name and Update unit tests

* rename stage_0 to stem and branch_identity to branch_norm

* update unit tests

* add m.eval in unit tests

* [Enhance] Enhence SE layer to support custom squeeze channels. (#417)

* add enhenced SE

* Update

* rm basechannel

* fix docstring

* Update se_layer.py

fix docstring

* [Docs] Add algorithm readme and update meta yml (#418)

* Add README.md for models without checkpoints.

* Update model-index.yml

* Update metafile.yml of seresnet

* [Enhance] Add `hparams` argument in `AutoAugment` and `RandAugment` and some other improvement. (#398)

* Add hparams argument in `AutoAugment` and `RandAugment`.

And `pad_val` supports sequence instead of tuple only.

* Add unit tests for `AutoAugment` and `hparams` in `RandAugment`.

* Use smaller test image to speed up uni tests.

* Use hparams to simplify RandAugment config in swin-transformer.

* Rename augment config name from `pipeline` to `pipelines`.

* Add some commnet ad docstring.

* [Feature] Support classwise weight in losses (#388)

* Add classwise weight in losses:CE,BCE,softBCE

* Update unit test

* rm some extra code

* rm some extra code

* fix broadcast

* fix broadcast

* update unit tests

* use new_tensor

* fix lint

* [Enhance] Better result visualization (#419)

* Imporve result visualization to support wait time and change the backend
to matplotlib.

* Add unit test for visualization

* Add adaptive dpi function

* Rename `imshow_cls_result` to `imshow_infos`.

* Support str in `imshow_infos`

* Improve docstring.

* Bump version to v0.15.0 (#426)

* [CI] Add PyTorch 1.9 and Python 3.9 build workflow, and remove some CI. (#422)

* Add PyTorch 1.9 build workflow, and remove some CI.

* Add Python 3.9 CI

* Show Python 3.9 support.

* [Enhance] Rename the option `--options` in some tools to `--cfg-options`. (#425)

* [Docs] Fix sphinx version (#429)

* [Docs] Add `CITATION.cff` (#428)

* Add CITATION.cff

* Fix typo in setup.py

* Change author in setup.py

* modeify some attr name and Update unit tests

* rename stage_0 to stem and branch_identity to branch_norm

* update unit tests

* add m.eval in unit tests

* Update unit tests

* refactor

* refactor

* Alignment inference accuracy

* Update configs, readme and metafile

* Update readme

* return tuple and fix metafile

* fix unit test

* rm regnet and classifiers changes

* update auto_aug

* update metafile & readme

* use delattr

* rename cfgs

* Update checkpoint url

* Update readme

* Rename config files.

* Update readme and metafile

* add comment

* Update mmcls/models/backbones/repvgg.py

Co-authored-by: Ma Zerun <mzr1996@163.com>

* Update docstring

* Improve docstring.

* Update unittest_testblock

Co-authored-by: Ezra-Yu <1105212286@qq.com>
Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-09-29 11:06:23 +08:00
Ma Zerun
8b7d38b243
[Docs] Update getting_started.md and install.md and rewrite finetune.md (#466)
* Disable auto line-wrap in docs.

* Add model_zoo.md and CONTRIBUTING.md in docs.

* Revise getting_started.md and install.md

* Rewrite finetune.md

* Fix typo

* Imporve `finetune.md`

* Fix `GitHub` link

* Fix a small typo.
2021-09-28 18:05:50 +08:00
Ma Zerun
8f68779cc6
[Docs] Update metafile and Readme (#435)
* Update metafile format.

* Update accuracy of checkpoints.

* Add metafile and readme for tnt.

* Add converted ckpts in swin-transformer.

* Fix tnt ckpt link

* Update swin_transformer metafile
2021-09-18 16:32:46 +08:00
Ma Zerun
a8f4f82b8e
[Enhance] Improve downstream repositories compatibility (#421)
* Defaults to return tuple in all backbones.

* Compat downstream of swin transformer.

* Support tuple input for multi label head and stacked head.

* Fix backbone unit tests for tuple output.

* Add downstream inference unit tests for mmdet.

* Update gitignore

* Add unit tests for `return_tuple` option

* Add unit tests for head input tuple.

* Add warning in `simple_test`

* Add TIMMBackbone return tuple.

* Modify timm backbone unit test.
2021-09-08 10:38:57 +08:00
Ma Zerun
6a0a76af0c
[Enhance] Add hparams argument in AutoAugment and RandAugment and some other improvement. (#398)
* Add hparams argument in `AutoAugment` and `RandAugment`.

And `pad_val` supports sequence instead of tuple only.

* Add unit tests for `AutoAugment` and `hparams` in `RandAugment`.

* Use smaller test image to speed up uni tests.

* Use hparams to simplify RandAugment config in swin-transformer.

* Rename augment config name from `pipeline` to `pipelines`.

* Add some commnet ad docstring.
2021-08-24 18:15:54 +08:00
Ma Zerun
a9d65271ab
[Docs] Add algorithm readme and update meta yml (#418)
* Add README.md for models without checkpoints.

* Update model-index.yml

* Update metafile.yml of seresnet
2021-08-24 17:46:46 +08:00
whcao
359f56ad58
[Feature] Add transformer in transformer (#339)
* add tnt_small configs

* add tnt backbone

* test tnt

* add tnt to model_zoo

* rename the config file name

* add optimizor

* move tnt backbone unitest

* add metric

* fix keyname in arch

* encapsulate "inner transformer block" and "outer transformer block"

* fix TnT

* Use `inner_block_cfg` and `outer_block_cfg` instead of `args` and
`kwargs`.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-07-30 09:16:27 +08:00
Ma Zerun
57e9692765
Fix broken _base_ link in a resnet config. (#361) 2021-07-25 23:50:32 -04:00
Ma Zerun
9352fc434a
Fix vgg-19 model link. (#363) 2021-07-22 11:29:10 +08:00
LXXXXR
24e58ba26d
[Feature] Add ResNeSt configs (#332)
* add configs for resnest training

* fix format
2021-07-14 15:58:19 +08:00
Ma Zerun
a97ccd5579
[Fix] Fix swin transformer config (#355)
* Fix config bug in swin

* Format config and checkpoint name of swin transformer.

* Fix link in model zoo
2021-07-14 15:10:20 +08:00
whcao
5a86288f1f
[Fix]Fix metafile (#335)
* add mytrain.py for test

* test before layers

* test attr in layers

* test classifier

* delete mytrain.py

* add mobilenet_v3.yml

* fix ymal

* rename model_zoo.yml to model-index.yml

* replace imagenet with imagenet-1k
2021-07-01 20:50:42 +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
Ma Zerun
db5502f525
Fix config link of SeResNet README. (#326) 2021-06-29 23:19:58 +08:00
Ma Zerun
65410b05ad
Fix Mobilenetv3 structure and add pretrained model (#291)
* 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>
2021-06-27 23:19:36 +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
Ma Zerun
9f7168e770
Add RegNetX configs (#269)
* Add RegNetX configs

* Fix typo in RegNet readme.

* Use comment to mark tag.
2021-06-04 14:29:13 +08:00
LXXXXR
c68bf9f2ba
fix resnetv1d configs and update ckpts (#288) 2021-06-03 16:30:29 +08:00
LXXXXR
df3d2d47f0
update resnext ckpts (#283) 2021-06-01 14:57:46 +08:00
LXXXXR
5ff158cec9
[Bug] Fix Cifar color channel (#280)
* fix bug

* updatedoc accordingly
2021-05-31 14:15:22 +08:00
Mingqiang Ning
9a66113d20
add attribute 'test' in dict 'data' (#264)
* add attribute 'test' in dict 'data'

* Update lenet5_mnist.py

 delete spaces around '='.

* init

* Delete custom directory
2021-05-31 10:19:27 +08:00
LXXXXR
98b6c4afa4
update cifar config (#275) 2021-05-27 15:20:25 +08:00
whcao
3be95b99c2
[Feature]Modify modelzoo readme (#230)
* add mytrain.py for test

* test before layers

* test attr in layers

* test classifier

* delete mytrain.py

* add imagenet_bs4096_AdamW.py

* delete 2 lines of comments

* change bs to 64

* fix bug

* add vit to model_zoo.md

* rename
2021-04-29 15:18:55 +08:00
whcao
16947f1239
[Bug]Fix weight decay (#227)
* 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
2021-04-28 17:16:43 +08:00
LXXXXR
5fb9ced5f9
[Docs] Change tag into comment (#226)
* change tags

* remove modelzoo_statistics
2021-04-28 17:08:57 +08:00
LXXXXR
a604cd97ef
[Feature] Adding PWC metafile (#225)
* add yml

* fix VGG

* minor fix

* add model zoo

* add bs and epoch

* revised according to comments

* revised according to comments

* revised according to comments
2021-04-28 17:07:26 +08:00
LXXXXR
d72d233f9b
fix resnext resize (#222) 2021-04-25 16:26:34 +08:00
whcao
759aa92437
[Bug]add cutmix_prob to config (#220)
* add cutmix_prob to config

* empty
2021-04-21 21:57:09 +08:00
whcao
31a6a362ba
Add some vit configs (#217)
* add vit_base_patch32_384_finetune.py

* add vit_base_patch32_384_finetune_imagenet.py to vision_transformer

* add vit_large_patch16_384_finetune.py to models

* add vit_large_patch16_384_finetune_imagenet.py to vision_transformer

* add vit_large_patch32_384_finetune to models

* add vit_large_patch32_384_finetune_imagenet to vision_transformer

* add vit_large_patch16_224_finetune.py to models

* add vit_large_patch16_224_finetune_imagenet.py to vision_transformer

* delete some useless comments
2021-04-20 11:32:20 +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
LXXXXR
3f085026cf
[Feature] Add Cifar100 config (#208)
* add config for cifar100

* fix doc
2021-04-13 20:15:29 +08:00
whcao
af83e981ac
[Bug]Fix label smooth bug (#203)
* 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
2021-04-13 13:53:56 +08:00
LXXXXR
77e88844cd
[Bug] Bug in vgg config (#181)
* fix vgg_voc config

* fix vgg_voc config
2021-03-25 15:50:01 +08:00
LXXXXR
d3dceddf31
add model zoo for fp16 (#184) 2021-03-25 15:49:26 +08:00