* [Improve] Speed up data preprocessor.
* Add ClsDataSample serialization override functions.
* Add unit tests
* Modify configs to fit new mixup args.
* Fix `num_classes` of the ImageNet-21k config.
* Update docs.
* [Refactor] Use mdformat instead of markdownlint to format markdown.
* Update unavailiable api links in tutorials
* Update CONTRIBUTING.md
* Use mdformat==0.7.9 to support Python 3.6
* implement training and evaluation on IPU
* fp16 SOTA
* Tput reaches 5600
* 123
* add poptorch dataloder
* change ipu_replicas to ipu-replicas
* add noqa to config long line(website)
* remove ipu dataloder test code
* del one blank line in test_builder
* refine the dataloder initialization
* fix a typo
* refine args for dataloder
* remove an annoted line
* process one more conflict
* adjust code structure in mmcv.ipu
* adjust ipu code structure in mmcv
* IPUDataloader to IPUDataLoader
* align with mmcv
* adjust according to mmcv
* mmcv code structre fixed
Co-authored-by: hudi <dihu@graphcore.ai>
* Support HRNet
* Add HRNet configs
* Fix a bug in backward
* Add configs and update docs.
* Not use bias in conv before batch norm
* Defaults to use `norm_eval=False`
* Add unit tests and support out_channels in HRFuseScales
* Update checkpoint path
* Update docstring.
* Remove incorrect files
* Improve according to comments
* Support ConvNeXt
* Add configs of ConvNeXt
* Update dev scripts
* Update docs.
* Use new style README
* Add unit tests.
* Update README
* Imporve according to comments
* Modify refers to timm.
* Imporve according to comments
* Add cosine cool down lr updater
* Use ema hook
* Update decay mult
* Update configs.
* Update T2T-ViT readme and format all readme
* Update swin readme
* Update tnt readme
* Add docstring for `CosineAnnealingCooldownLrUpdaterHook`.
* Update t2t readme and metafile
* add cam-grad tool
* refactor cam-grad tool
* add docs
* update docs
* Update docs and support Transformer
* remove pictures and use link
* replace example img and finish EN docs
* improve docs
* improve code
* Fix MobileNet V3 configs
* Refactor to support more powerful feature extraction.
* Add unit tests
* Fix unit test
* fix distortion of visualization exapmles in docs
* fix distortion
* fix distortion
* fix distortion
* merge master
* merge fix conficts
* Imporve the tool
* Support use both attribute name and index to get layer
* add default get_target-layers
* add default get_target-layers
* update docs
* update docs
* add additional printt info when not using target-layers
* Imporve docs
* Fix enumerate list.
Co-authored-by: mzr1996 <mzr1996@163.com>
* Fix MobileNet V3 configs
* Refactor to support more powerful feature extraction.
* Add unit tests
* Fix unit test
* Imporve according to comments
* Update checkpoints path
* Fix unit tests
* Add docstring of `simple_test`
* Add docstring of `extract_feat`
* Update model zoo
* Support DeiT backbone.
* Use hook to automatically resize pos embed
* Update ViT training setting
* Add deit configs and update docs
* Fix vit arch assertion
* Remove useless init function
* Add unit tests.
* Fix resize_pos_embed for DeiT
* Improve according to comments.
* 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>
* 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>
* 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
* 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.
* [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.
* 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
* 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>
* 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.
* 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.
* 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.
* 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
* 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.
* 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
* add imagenet_bs4096_AdamW.py
* delete 2 lines of comments
* change bs to 64
* fix bug
* add vit to model_zoo.md
* rename
* 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 yml
* fix VGG
* minor fix
* add model zoo
* add bs and epoch
* revised according to comments
* revised according to comments
* revised according to 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
* 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
* resolve conflicts
add heads and config for multilabel tasks
* minor change
* remove evaluating mAP in head
* add baseline config
* add configs
* reserve only one config
* minor change
* fix minor bug
* minor change
* minor change
* add unittests and fix docstrings
* Use build_runner in train api
* Support iter in eval_hook
* Add runner section
* Add test_eval_hook
* Pin mmcv version in install docs
* Replace max_iters with max_epochs
* Set by_epoch=True as default
* Remove trailing space
* Replace DeprecationWarning with UserWarning
* pre-commit
* Fix tests
* add model inference on single image
* rm --eval
* revise doc
* add inference tool and demo
* fix linting
* rename inference_image to inference_model
* infer pred_label and pred_score
* fix linting
* add docstr for inference
* add remove_keys
* add doc for inference
* dump results rather than outputs
* add class_names
* add related infer scripts
* add demo image and the first part of colab tutorial
* conduct evaluation in dataset
* return lst in simple_test
* compuate topk accuracy with numpy
* return outputs in test api
* merge inference and evaluation tool
* fix typo
* rm gt_labels in test conifg
* get gt_labels during evaluation
* sperate the ipython notebook to another PR
* return tensor for onnx_export
* detach var in simple_test
* rm inference script
* rm inference script
* construct data dict to replace LoadImage
* print first predicted result if args.out is None
* modify test_pipeline in inference
* refactor class_names of imagenet
* set class_to_idx as a property in base dataset
* output pred_class during inference
* remove unused docstr