Commit Graph

251 Commits (d25a78d547e7f0358ff0e7849299e06d03dbb50b)

Author SHA1 Message Date
Ma Zerun d25a78d547
[Enchance] Set a random seed when the user does not set a seed. (#554) 2021-12-02 18:09:55 +08:00
Ma Zerun 78d6d8503f
[Refactor] Use new API of matplotlib to handle blocking input in visualization. (#568)
* [Refactor] Use new API of matplotlib to handle blocking input in
visualization.

* Modify unit tests
2021-12-02 17:46:40 +08:00
takuoko 9d9dce69ad
[Feature] Support using checkpoint in Swin Transformer to save memory. (#557)
* add checkpoint in swin backbone

* add checkpoint in swin backbone
2021-12-01 11:49:00 +08:00
Ma Zerun f6076bfeca
Bump version to v0.18.0 (#569)
* Bump version to v0.18.0

* Add highlight of previous version in readme

* Imporve docs
2021-11-30 19:04:38 +08:00
juanjompz 715a80b09c
[Enhance] Focal loss for single label tasks (#548)
* Added focal loss support to single label tasks.

* Updated focal loss docstring
2021-11-26 12:36:49 +08:00
Ezra-Yu 4b2128fdbd
[Fix] Fix bug when using `ClassBalancedDataset` (#555)
* fix dataset wrapper bug and add unit tests

* fix dataset wrapper bug and add unit tests

* update unit tests

* fix lint

* align interface to mmdet

* update unit tests
2021-11-26 09:40:00 +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
Ezra-Yu f361bd52e9
[Fix] Fix a bug when using iter-based runner with 'val' workflow (#542)
* add kwargs and default of optimizer in train_step and val_step

* update docstring

* update docstring

* update optional annotation
2021-11-22 12:06:47 +08:00
LeoXing1996 49cbfd776a
[Fix] Fix interpolation method checking in `Resize` (#547)
* fix interpolation method checking in resize

* revise docstring + add unit test
2021-11-19 17:38:25 +08:00
takuoko 9f31fc5390
[Refactor] Use `reset_classifier` to remove head of timm backbones. (#534)
* refactor timm backbone

* fix comment
2021-11-16 16:24:55 +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
Ma Zerun e0d32df076
[Fix] Fix a bug when load checkpoints in mulit-GPUs environment. (#527)
* Fix a bug when load checkpoints in mulit-GPUs environment.

* Map the weights to CPU
2021-11-10 17:54:43 +08:00
Ezra-Yu 87c67a6a79
[Feature] Support positive weights in BCE. (#516)
* add pos-weight in BCE

* mv pos-weight to kwargs
2021-11-10 17:14:12 +08:00
Ezra-Yu 34d5a25281
[Refactor] Support passing arguments to loss from head. (#523) 2021-11-10 17:12:34 +08:00
Zhicheng Chen 9ab9d4ff31
[Refactor] Refactor `Resize` transform and add `Pad` transform. (#506)
* refactor resize, test tobe done

* resize reimpl according to discussion; add pad

* minor fixes and add tests

* minor fixes on docstring

* add additional unit test

* reformat resize and pad

* revise code and docstr according to the comments
2021-11-10 16:46:49 +08:00
Ezra-Yu b486bb23f8
[Feature] Add a tool to visualize learning rate in each iterations (#498)
* add vis lr

* add doc

* Update doc and rm load_json_log in analysis

* Update docs

* add unit tests and update docstring

* fix unit-tests

* Use DummyIterBasedRunner and DummyEpochBasedRunner to simulate training
process.

* rm function val and add judge

* update docs

* improve english expression

* Update docs/tools/visualization.md

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

* fix typo and ImageNet datasize

* fix typo

* update example

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-11-03 10:48:56 +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
Ma Zerun 72cffac7b5
Bump version to v0.17.0 (#503) 2021-10-29 14:04:03 +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
imyhxy 671414becb
[Fix] Fix missing import `Compose` and `Normalize`.
* Fixed missing import 'Compose'

* Fixed mistype `Compose` in `mmcls/datasets/__init__.py`

* Fixed missing import `Normalize`

* [Docs] Fix typos in doctest

* [Fix] Sort import module
2021-10-28 15:21:05 +08:00
Youqing Xiaozhua 1177feb05b
[Fix] Remove `DistSamplerSeedHook` if use `IterBasedRunner`. (#501)
* remove DistSamplerSeedHook for IterBasedRunner

* Register DistSamplerSeedHook for EpochBasedRunner only

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

Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-10-27 17:07:33 +08:00
Zhicheng Chen 6d6ce215a2
[Feature] Add seesaw loss. (#500)
* migrate seesaw loss from mmdet

* add assertion and doc string fixes

* add error information

* docstring fixes

* minor doc update
2021-10-27 10:11:59 +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
takuoko f68f17e9bb
[Fix] Set the priority of `EvalHook` to "LOW" to avoid a bug of `IterBasedRunner` (#488)
* Set the priority of EvalHook to LOW.

* add a comment
2021-10-20 16:24:52 +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 10e8495055
[Tool] Add a tool to test TorchServe. (#468)
* Add `title` option in `show_result_pyplot`.

* Add test_torchserver.py

* Add docs about test torchserve

* Update docs and result output.

* Update chinese docs.
2021-10-14 17:56:32 +08:00
Tan Y.Q c1b3757ae4
[Fix] Fix a wrong paramter of `get_root_logger` in `apis/train.py`. (#486)
The get_root_logger(log_file=None, log_level=logging.INFO) function does not needs the string type cfg.log_level as input. This bug does not have negative effect.
2021-10-13 14:54:47 +08:00
Ma Zerun 7eeb54ce9c
[Fix] Fix version check in dataset builder. (#474)
* Fix version check in dataset builder.

* Use mmcv version check function.
2021-10-13 14:34:56 +08:00
Ma Zerun 2e6c7cf87d
[Docs] Add code-spell pre-commit hook and fix a large mount of typos. (#470)
* Add code spell check hook

* Add codespell config

* Fix a lot of typos.

* Add formating.py to keep compatibility.
2021-10-13 14:33:07 +08:00
Ma Zerun 6fba107840
[Refactor] Use context manager to reuse matplotlib figures. (#432)
* Add `BaseImshowContextmanager` and `ImshowInfosContextManager` to reuse
matplotlib figure.

* Use context manager to implement `imshow_infos`

* Add unit tests.

* More general base context manager.

* unit tests for context manager.

* Improve docstring.

* Fix context manager exit cannot close figure when matplotlib>=3.4.0

* Fix unit tests

* Support inline backend in visualization.
2021-09-30 13:59:27 +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 75b087f27e
[Refactor] Fix TnT compatibility and verbose warning. (#436)
* Support return tuple in TnT

* Fix verbose warnings.
2021-09-22 19:37:24 +08:00
Ezra-Yu f865c725f2
[Docs] Fix typo in transforms.py docstring (#455) 2021-09-22 11:09:23 +08:00
Charlyo 8024f81de2
[Docs] Fix a typo in transforms (#454) 2021-09-22 10:46:59 +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
Miras Amir 5cfaed6807
[Feature] timm backbones wrapper (#427)
* Add wrapper to use backbones from timm

* Add tests

* Remove timm from optional deps and modify GitHub workflow.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-09-06 11:05:31 +08:00
Ma Zerun a41cb2fa93
Bump version to v0.15.0 (#426) 2021-08-31 14:33:32 +08:00
Ma Zerun 5383787512
[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.
2021-08-31 10:50:28 +08:00
Ezra-Yu 192b79eea0
[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
2021-08-31 10:44:12 +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
Ezra-Yu 0184527bd4
[Enhance] Enhence SE layer to support custom squeeze channels. (#417)
* add enhenced SE

* Update

* rm basechannel

* fix docstring

* Update se_layer.py

fix docstring
2021-08-20 13:31:44 +08:00
Ma Zerun f9eb9b409b
[Docs] Add Copyright information. (#413) 2021-08-17 19:52:42 +08:00
Azad Baykara 5c4da16084
[Docs] Fix typo 'metirc' (#411) 2021-08-17 10:35:26 +08:00
Ma Zerun c0a4916a06
[Enhance] Update `digit_version` function. (#402)
* Update digit_version

* Add digit_version unit test
2021-08-12 12:13:25 +08:00
Ma Zerun f8f1700860
[Refactor] Use post_process function to handle pred result processing. (#390)
Use post_process function to handle pred result processing in `simple_test`.
2021-08-12 11:54:24 +08:00
Vladislav Sovrasov b54acfd5c4
[Enhance] Avoid unnecessary listdir when building ImageNet. (#396) 2021-08-06 10:38:36 +08:00
Ma Zerun ade7b80e44
Bump version to v0.14.0 (#389) 2021-08-04 13:25:42 +08:00
Ma Zerun e8822ebaec
[Docs] Fix some bugs in readthedocs pdf build. (#383)
* Add escape symbols for underscores in formulas.

* Support Chinese characters in pdf output.
2021-07-31 14:49:36 +08:00