Commit Graph

78 Commits (dd45491d14d01b17255ddb6bb5b941f11c871d5c)

Author SHA1 Message Date
Ma Zerun 1a28f9ace6
[Feature] Add `evaluate` function for ConcatDataset. (#650)
* Add `evaluate` function for ConcatDataset

* Remove newline in log.

* Fix lint

* Specify mmcv version in Windows CI
2022-02-28 12:46:17 +08:00
Ma Zerun 1b5712a551
[Enhance] Add a new pre-commit-hook to automatically add a copyright. (#710) 2022-02-25 11:48:07 +08:00
RunningLeon 9ee41577d0
[Enhance] Add deprecation message for deploy tools. (#697)
* add derepcation message for deploy tools

* add space

* Update tools/deployment/onnx2tensorrt.py

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

* remove colorama package

* use plaintext to avoid import mmcv

Co-authored-by: Ma Zerun <mzr1996@163.com>
2022-02-23 22:24:44 +08:00
Ezra-Yu 7fcaedcbfb
[Feature] Add ResNetV1c. (#692)
* add ResNetV1c

* add unit tests

* fix lint

* update docstring

* fix lint
2022-02-23 11:36:33 +08:00
Ma Zerun fcd57913ae
[Enhance] Upgrade isort pre-commit hooks. (#687)
* Use new version flake8 and isort hooks

* Fix missing copyright
2022-02-17 02:17:20 +08:00
Ma Zerun 44e9902979
[Refactor] Use `--gpu-id` instead of `--gpu-ids` in non-distributed multi-gpu training/testing. (#688) 2022-02-17 02:17:01 +08:00
Ma Zerun bca695b684
[Refactor] Remove deprecation. (#633)
* Remove deprecated `--options` in some tools

* Remove deprecated eval hooks and fp16 hooks

* Remove deprecated mixup&cutmix, pretrained and return_tuple arguments.

* Remove deprecated `deprecated_options` in multi label dataset

* Remove deprecated `formating.py`

* Remove deprecated default mode of `LabelSmoothLoss`

* Revert pretrained argument, and remove it's deprecation sign.

* Update unit test
2022-02-10 09:30:18 +08:00
mzr1996 e0edffb353 Merge branch 'dev' 2022-01-31 12:00:17 +08:00
Ma Zerun 8ef5aeda40
[Enhance] New-style CPU training and inference. (#674)
* [Enhance] New-style CPU training and inference.

* Add version check in CPU training/test
2022-01-30 20:49:54 +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 f552419e45
[Enhance] Add setup multi-processing both in train and test. (#671) 2022-01-27 10:18:36 +08:00
Zhicheng Chen d56170a734
[Feature] Support EfficientNet (#649)
* add config for resnest test

* fix config

* add label smoothing

* add memcached

* minor fix

* fix bug

* fix config

* add config

* minor fix

* fix configs

* use EResize

* change interpolation

* add more configs

* add docsting

* add unittest

* remove unnecessary changes

* minor fix

* add more docstring

* fix linting

* add efficient backbone

* add config

* add Edge Residual

* fix bug

* remove unnecessary files

* refactor

* add resize in crop to ensure crop size is output size

* fix bug and add comments

* test

* fix

* add more configs

* add more configs

* add more configs

* fix bug

* add model zoo

* fix

* reorganize code

* add edge tpu

* add edge tpu converter

* rename

* update readme

* reorganize code and config

* Rename configs of EfficientNet, and add metafile & model_zoo

* Remove `backend='pillow'`

* Add comments about EfficientNet-EdgeTPU

* Rename the convert tool of EfficientNet.

* Refactor EfficientNet and update docstring.

* Update EfficientNet-EdgeTPU config

* Fix unit tests

Co-authored-by: lixinran <lixr423@outlook.com>
Co-authored-by: lixinran <lixinran@sensetime.com>
Co-authored-by: mzr1996 <mzr1996@163.com>
2022-01-25 12:14:17 +08:00
xiefeifeihu 1a91a7fed5
[Fix] Fix API changes in `pytorch-grad-cam>=1.3.7` (#656)
* Update vis_cam.py

Fix bug 654 temporary

* support grad-cam==1.3.7

Co-authored-by: Ezra-Yu <1105212286@qq.com>
2022-01-19 19:00:31 +08:00
xiefeifeihu d73eb01cba
[Fix] Fix bug which breaks `cal_train_time` in `analyze_logs.py`. (#662)
* fix bug mmclassification issues 661

https://github.com/open-mmlab/mmclassification/issues/661

* fix lint

Co-authored-by: Zhicheng Chen <chen1319276472@foxmail.com>
2022-01-19 18:38:48 +08:00
Ma Zerun b39885d953
[Feature] Support K-fold cross-validation (#563)
* Support to use `indices` to specify which samples to evaluate.

* Add KFoldDataset wrapper

* Rename 'K' to 'num_splits' accroding to sklearn

* Add `kfold-cross-valid.py`

* Add unit tests

* Add help doc and docstring
2022-01-19 18:32:55 +08:00
mzr1996 321ad09e6d Merge remote-tracking branch 'origin/master' into dev 2022-01-13 19:27:23 +08:00
Rejnald Lleshi c07f8326e3
[Feature] Add conversion script from pytroch to mlmodel (#597) 2022-01-13 12:32:52 +08:00
imyhxy 32d606e1a1
[Refactor] Save class names in best checkpoint created by evaluation hook (#641)
* Save class names in best checkpoint created by evaluation hook

* Save meta info into runner instaed of checkpoint_config
2022-01-13 12:20:59 +08:00
Ezra-Yu 131d8c6296
[Feature] Add CAM visualization tool (#577)
* 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>
2021-12-23 18:53:40 +08:00
Ma Zerun 894a82ea4f
[Refactor] Change `load_json_logs` to `load_json_log`. (#602) 2021-12-14 18:03:27 +08:00
Ezra-Yu fdb178303b
[Docs] Add analysis&misc docs (#525)
* refactor ananlysis_log and add docs

* refactor ananlysis_log and fix lint

* improve docs

* improve docs

* improve docs

* fix bugs and refactor analysis_log

* rename analysis folder to analysis_tools

* fix failure link

* add result analysis docs

* add eval-metrics docs

* add misc doc

* fix lint

* improve docs

* improve misc docs

* fix docs

* Change the `eval_options` in `tools/analysis_tools/eval_metric.py` to
`metric_options`

* Improve tutorials

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-12-07 11:27:34 +08:00
Ezra-Yu 7b37bc5bf5
[Refactor] Refactor `analysis_log.py`. (#529)
* fix bugs and refactor analysis_log

* update some names
2021-12-03 16:02:50 +08:00
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
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 a55324c453
[Refactor] Remove useless `import_modules_from_string`. (#544) 2021-11-22 14:01:26 +08:00
imyhxy dc35eb62b6
[Fix] Fix an error on indexing scalar metrics in `analyze_result.py` (#518)
* [Fix] Error on indexing scalar metrics

* [Fix] Error on indexing scalar metrics

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

Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-11-05 11:57:49 +08:00
imyhxy abb5a222cf
[Fix] Fix wrong condition judgment in `analyze_logs.py` and prevent empty curve. (#510)
* [Fix] Analyze logs with single training iteration

* [Fix] Make `plot_curve` with 'accuracy' metric

* [Fix] Assert length of training log records of each epoch is larger than 1

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

Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-11-03 11:37:51 +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
Ezra-Yu 52e62560d4
[Feature] Add a tool to find broken files. (#482)
* add verify dataset

* add phase

* rm attr of single_process

* Use `mmcv.track_parallel_progress` to track the validation.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-10-27 10:14:19 +08:00
Ezra-Yu 9dbe58bf8e
[Feature] Add pipeline visualization tools. (#406)
* add vis

* add tool vis-pipeline

* add docs

* Update docs

* pre-commit

* enhence english expression

* 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

* fix lint

* fix lint

* add adaptive

* add adaptive

* update adaptive

* add GAP

* improve doc and docstring

* add visualization in doc index

* Update doc

* Update doc

* Update doc

* Update doc

* Update doc

* Update doc

* update docs and docstring

* add progressbar

* add progressbar

* add images

* add images

* Delete .DS_Store

* replace images

* replace images and modify rgb2bgr

* add picture size

* mv pictures

* update img display

* add doc_zh-CN images

* Update vis_pipeline.py

* Update visualization.md

* Update visualization.md

* fix lint

* Improve docs.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-10-20 10:28:21 +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
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
Shane Zhao e166ee7c0c
[Fix] Fix format error in `test.py` when metric returns `np.ndarray` (#441)
* Update test.py

Fix the output format error when metric-options is specified

* Update tools/test.py

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

* Update test.py

delete "," after round(out, 2)

* Update test.py

delete else

* Update tools/test.py

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

Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-09-29 11:51: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 c076a97d54
[Fix] Fix `publish_model` bug if no parent of `out_file`. (#463) 2021-09-26 11:21:19 +08:00
Ma Zerun c5374854aa
[Fix] Fix num_classes bug in pytorch2onnx.py (#458)
* Fix num_classes bug in pytorch2onnx.py

* Fix `num_classes=-1`.
2021-09-25 09:25:58 +08:00
Ma Zerun cb09ed54e5
[Enhance] Support setting `--out-items` in `tools/test.py`. (#437)
* Support setting out_details in `tools/test.py`.

* Add assertion in `eval_metric` and `analyze_results`.
2021-09-15 11:06:16 +08:00
yushu 617932dd59
[Fix] Fix simplified model saving in ONNX export tool. (#438)
* Update pytorch2onnx.py

* Update pytorch2onnx.py

Please check the check_ok result.

* Update pytorch2onnx.py

* Update pytorch2onnx.py
2021-09-10 11:47:05 +08:00
Ezra-Yu fe25c8d3fb
[Enchence] Add datetime info and saving model using torch<1.6 format (#439)
* Add date and save ckpt usingg torch<1.6 format

* fix lint

* use digit_version and rasie error when there is no target out_dir

* add '.'
2021-09-10 11:42:38 +08:00
Ma Zerun ae40c45c55
[Enhance] Rename the option `--options` in some tools to `--cfg-options`. (#425) 2021-09-01 12:49:03 +08:00
Ma Zerun f9eb9b409b
[Docs] Add Copyright information. (#413) 2021-08-17 19:52:42 +08:00
Ma Zerun aad796ae6f
Modify test tools and add some new tools (#322)
* Refactor tools folder structure.

* Modify tools/test.py and add eval_metric.py to analysis test output.

* Add new tools `analyze_logs.py` and `print_config.py`.

* Add comment for analysis_tools functions.
2021-06-30 20:51:16 +08:00
AllentDan a24a9f6faa
[Fix] Build compatible with low pytorch versions (#301)
* add version compatible for torchscript

* doc

* doc again

* fix lint

* fix lint isort
2021-06-14 23:25:35 +08:00
WRH b99bd4fa88
Fix bug for CPU training (#286)
* remove MMDataParallel when using cpu

* support cpu testing

* fix lint
2021-06-12 22:26:33 +08:00
AllentDan c2f01e0dcd
[Feature] Add torchscript deployment (#279)
* add torchscript deploy

* fix lint

* add check and delete \
2021-06-12 21:50:48 +08:00
q.yao dbddde52ef
[Feature] TensorRT test tools. (#284)
* first commit

* update resnext result

* update docs

* update docstring
2021-06-12 21:47:10 +08:00
David de la Iglesia Castro e2507cae97
Add mmcls2torchserve (#292)
* Add mmcls2torchserve

* Update docs
2021-06-12 21:45:45 +08:00
LXXXXR 6de635a81c
[Bug] Missing test data when num_imgs can not be evenly divided by num_gpus (#299)
* fix bug in test

* remove unneccesary code
2021-06-11 15:53:23 +08:00
Miao Zheng 4ca21c7d03
[WIP] Refactoring weights initialization (#270)
* [WIP] Refactoring weights initialization

* fix lint and constant init cfg

* fix pretrained bug

* fix typo

* fix isort

* revise model utils
2021-06-10 10:54:34 +08:00