Commit Graph

94 Commits (main)

Author SHA1 Message Date
qiufeng d190037a5e
[Feature] Add dynamic bricks (#228)
* add dynamic bricks

* add dynamic conv2d test

* add tests for dynamic linear and dynamic norm

* add docstring for dynamic conv2d

* add docstring for dynamic linear

* add docstring for dynamic batchnorm

* Refactor the dynamic op ( put more logic into the mixin )

* fix UT

* Fix UT ( fileio was moved to mmengine)

* derived mutable adds choices property

* Unify the register interface of mutable in dynamic op

* Unified getter interface of mutable in dynamic op

Co-authored-by: gaojianfei <gaojianfei@sensetime.com>
Co-authored-by: pppppM <gjf_mail@126.com>
2022-08-19 15:15:38 +08:00
zhongyu zhang a5435d74b9
[Fix] Fix AssertionError in test_connector (#231)
fix connector UT bug
2022-08-15 14:59:58 +08:00
spynccat a1937fd5a6
[Feature] Add Decoupled KD Loss (#222)
* add DKDLoss, config

* linting

* linting

* reset default reduction

* dkd ut

* Update decoupled_kd.py

* Update decoupled_kd.py

* Update decoupled_kd.py

* fix commit

* fix readme

* fix comments

* linting comment

* rename loss params

* fix docstring

* Update decoupled_kd.py

* fix gt from config

* merge fix

* fix ut & wsld

* Update README.md

* Update README.md

* add Acknowledgement

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* fix readme style

* fix md

Co-authored-by: zengyi.vendor <zengyi.vendor@sensetime.com>
2022-08-15 14:59:24 +08:00
qiufeng 7dca9ba7c7
[Feature] Add `DerivedMutable` & `MutableValue` (#215)
* fix lint

* complement unittest for derived mutable

* add docstring for derived mutable

* add unittest for mutable value

* fix logger error

* fix according to comments

* not dump derived mutable when export

* add warning in `export_fix_subnet`

* fix __mul__ in mutable value
2022-08-10 16:07:03 +08:00
PJDong 696191e0c0
[Refactor] Move `build_arch_param` from `DiffMutableModule` to `DiffModuleMutator` (#221)
* move build_arch_param from mutable to mutator

* fix UT of diff mutable and mutator

* modify based on shiguang's comments

* remove mutator from the unittest of mutable
2022-08-10 10:05:32 +08:00
humu789 e4305f3d0b
[Bug] Fix darts loop unittest (#218)
* fix_darts_loop

* fix darts_loop unittest
2022-08-05 17:46:05 +08:00
zhongyu zhang e88e92cac4
[Feature] Add Activation Boundaries Loss (#214)
* 1.Add ABLoss and its config, readme and pipeline image. 2.Merge all connectors in general_connector into convconnector.

* 1.Improve convconnector to convmoduleconnecotr which aligns with mmcv. 2.Revise UT of test_connector. 3.Revise config of fitnet and abloss. 4.Revise mmcls import of darts_subnet_head to align with the newest mmcls-dev-1.x.

* 1.Simplify ConvModuleConncetor by ConvModule.

Co-authored-by: zhangzhongyu.vendor < zhangzhongyu.vendor@sensetime.com>
2022-08-05 14:14:47 +08:00
wilxy a94aaba986
[Feature] Add connector components and FitNet (#212)
* Fix spelling mistakes

* 1.Rename general connectors. 2.Replace nn.conv2 to build_conv_layer, replace nn.bn to build_norm_layer.

* 1. Rename function init_parameters to init_weights in SingleConvConnector to realize automatically invocation.

* 1. Add norm_cfg in config and general_connector

* 1.Move calculate_student_loss to distillation algorithm. 2.Move mmrazor.models.connector to mmrazor.models.architectures. 3.Merge stu_connectors and tea_connectors into connectors, and call connectors by their connector_name.

* 1.Replace connector_name to connector in record_info. 2.Add assert that each connector must be in connectors.

Co-authored-by: zhangzhongyu.vendor < zhangzhongyu.vendor@sensetime.com>
2022-07-28 19:17:42 +08:00
qiufeng 6987511e6b
[Fix] Fix mmcls import error (#206)
* fix mmcls import error

* fix __init__.py
2022-07-26 15:33:11 +08:00
pppppM 2c640d0586
Reorganize Dirs (#205)
* reorg dirs

* rename deliver to delivery
2022-07-25 13:28:08 +08:00
pppppM ae205ac0c6
Refactor darts (#204)
* add separate optim wrapper

* refactor darts related modules

* refactor darts algorithm

* fix some bugs

* update darts related modules

* update unittest

* update darts configs
2022-07-25 09:52:39 +08:00
pppppM 5bf1eca4e4 Add benchmark tools & Reorgnazie configs 2022-07-15 23:05:10 +08:00
qiufeng 5ddfed5040 [Feature] Add slimmable algorithm 2022-07-15 23:05:07 +08:00
pppppM a4c76ae47e [Refactor] Add distiller 2022-07-15 23:04:38 +08:00
PJDong 6c920c88ee Align SPOS and DetNAS to MMRazor2.0 2022-07-15 23:04:38 +08:00
humu789 2d5e8bc675 Refactor subnet sampler 2022-07-15 23:04:38 +08:00
humu789 1e3f8e9f67 Refactor EvolutionSearcher 2022-07-15 23:04:38 +08:00
humu789 7ab21f76e2 Refactor multiloader runner 2022-07-15 23:04:38 +08:00
pppppM cb238e36e3 [Feature] Add Recorder to improve Distiller 2022-07-15 23:04:38 +08:00
humu789 8913d6840d [Feature] Add KD val loop 2022-07-15 23:04:38 +08:00
whcao 6bdd9d682b [Refactor] Rename ChannelMutable to MutableChannel 2022-07-15 23:04:38 +08:00
PJDong 0939aecdb6 refactor name of mutable module 2022-07-15 23:04:38 +08:00
whcao 42063ae4d3 [Refactor]Refactor tracer and channel mutator 2022-07-15 23:04:35 +08:00
PJDong 332f49ac6f Support SubnetMixin and add Razor Registry Build Function 2022-07-15 23:04:13 +08:00
qiufeng 2d17ac6c2e [Feature] Add flops estimator 2022-07-15 23:04:13 +08:00
whcao b1ac66a9a3 [Features]Weihan dev/delivery 2022-07-15 23:04:13 +08:00
PJDong 56afc69d85 Refactor DartsBackbone 2022-07-15 23:04:13 +08:00
pppppM 577a3a2a94 [Refactor] Base Algorithm 2022-07-15 23:04:13 +08:00
pppppM 21e2110673 Refactor Diff Mutator 2022-07-15 23:04:13 +08:00
PJDong 804a595fc6 Refactor DiffMutable, DiffOP and DiffChoiceRoute. 2022-07-15 23:04:13 +08:00
qiufeng 99e7993376 Refactor backbone 2022-07-15 23:04:13 +08:00
qiufeng 910b131183 Refactor Mutator 2022-07-15 23:04:13 +08:00
PJDong 3e4b04a02f Refactor Mutable 2022-07-15 23:04:13 +08:00
pppppM 4b5ddaf642 [Refactor] Refactor Registry 2022-07-15 23:02:57 +08:00
pppppM 2efe63e9a4 [CI] Add Gitlab CI 2022-07-15 23:02:57 +08:00
pppppM baa8c8614e [Deprecated] Clean up code that will be deprecated in OpenMMLab 2.0 2022-07-15 23:02:37 +08:00
qiufeng 16c643d946
[Fix] Fix init mmdet model api (#179)
* fix init_mmdet_model

* add test
2022-06-15 19:21:01 +08:00
pppppM 2dad24044d
Bump version to 0.3.1 (#155)
* [Enhance] Add extra dataloader settings in configs (#141)

* [Docs] fix md link failure in docs (#142)

* [Docs] update Cream readme

* delete 'readme.md' in model_zoo.md

* fix md link failure in docs

* [Docs] add myst_parser to extensions  in conf.py

* [Docs] delete the deprecated recommonmark

* [Docs] delete recommandmark from conf.py

* [Docs] fix md link failure and lint failture

* [Fix] Fix seed error in mmseg/train_seg.py and typos in train.md (#152)

* [Docs] update Cream readme

* delete 'readme.md' in model_zoo.md

* fix cwd docs and fix seed in #151

* delete readme of cream

* [Enhancement]Support broadcast_object_list in multi-machines & support Searcher running in single GPU (#153)

* broadcast_object_list support multi-machines

* add userwarning

* [Fix] Fix configs (#149)

* fix configs

* fix spos configs

* fix readme

* replace the official mutable_cfg with the mutable_cfg searched by ourselves

* update https prefix

Co-authored-by: pppppM <gjf_mail@126.com>

* [BUG]Support to prune models containing GroupNorm or InstanceNorm. (#144)

* suport GN and IN

* test pruner

* limit pytorch version

* fix pytest

* throw an error when tracing groupnorm with torch version under 1.6.0

Co-authored-by: caoweihan <caoweihan@sensetime.com>

* Bump version to 0.3.1

Co-authored-by: qiufeng <44188071+wutongshenqiu@users.noreply.github.com>
Co-authored-by: PJDong <1115957667@qq.com>
Co-authored-by: humu789 <88702197+humu789@users.noreply.github.com>
Co-authored-by: whcao <41630003+HIT-cwh@users.noreply.github.com>
Co-authored-by: caoweihan <caoweihan@sensetime.com>
2022-05-05 01:02:45 +08:00
pppppM 49f1bee45b
Bump version to v0.3.0 (#135)
* [Feature] Add function to meet mmdeploy support (#102)

* add init_model function for mmdeploy

* fix lint

* add unittest for init_xxx_model

* fix lint

* mv test_inference.py to test_apis directory

* [Feature] Add function to meet mmdeploy support (#102)

* add init_model function for mmdeploy

* fix lint

* add unittest for init_xxx_model

* fix lint

* mv test_inference.py to test_apis directory

* [Refactor] Delete redundant `set_random_seed` function (#104)

* refactor set_random_seed

* add unittests

* fix unittests error

* fix lint

* avoid bc breaking

* [Feature] Add diff seeds to diff ranks and set torch seed in worker_init_fn (#113)

* add init_random_seed

* Set diff seed to diff workers

* [Feature] Add multi machine dist_train (#114)

* support multi nodes

* update training doc

* fix lints

* remove fixed seed

* fix ddp wrapper registry (#128)

* [Docs] Add brief installation steps in README(_zh-CN).md (#121)

* Add brief installation

* add brief installtion ref to mmediting pr#816

Co-authored-by: caoweihan <caoweihan@sensetime.com>

* [BUG]Fix bugs in pruner (#126)

* fix bugs in pruner when pruning models with shared modules

* pruner can trace models with dilation conv2d

* fix deploy_subnet

* fix add_pruning_attrs

* fix bugs in modify_forward

* fix lint

* fix StructurePruner

* test tracing models with shared modules

Co-authored-by: caoweihan <caoweihan@sensetime.com>

* [Docs]Add some more details to docs (#133)

* add docs for dataset

* add cfg-options for distillation

* fix docs

Co-authored-by: caoweihan <caoweihan@sensetime.com>

* reset norm running status after prepare_from_supernet (#81)

* [Improvement]Sync train api (#115)

Co-authored-by: caoweihan <caoweihan@sensetime.com>

* [Feature]Support Relational Knowledge Distillation (#127)

* add rkd

* add rkd pytest

* add rkd configs

* fix readme

* fix rkd

* split rkd loss to distance-wise and angle-wise losses

* rename rkd losses

* add rkd metaflie

* add rkd related links

* rename rkd metafile and add to model index

* delete cifar100

Co-authored-by: caoweihan <caoweihan@sensetime.com>
Co-authored-by: pppppM <gjf_mail@126.com>

Co-authored-by: qiufeng <44188071+wutongshenqiu@users.noreply.github.com>
Co-authored-by: wutongshenqiu <690364065@qq.com>
Co-authored-by: whcao <41630003+HIT-cwh@users.noreply.github.com>
Co-authored-by: caoweihan <caoweihan@sensetime.com>
2022-04-02 19:30:50 +08:00
whcao 81e0e3452a
[Feature] Resume from the latest checkpoint automatically. (#61)
* support auto-resume

* support auto-resume

* support auto-resume

* support auto-resume

Co-authored-by: pppppM <67539920+pppppM@users.noreply.github.com>
2022-03-08 11:25:19 +08:00
pppppM ef1637e866
[FEATURE] Mobilenet Series Search Space (#82)
* add mbv2 block and identity

* add mbv2 block and identity unittests

* expand_factor -> expand_ratio

* add searchable mobilenet v2

* fix lints

* add spos subnet retraining config

* fix mmcls slurm search

* add proxyless_gpu setting for mbv2

* use bn default

* add angelnas spos config

* update spos readme

* fix SELayer's useage

* add docstring

* rename mbv2 to mb

* add some unittest of mb

* rename mb to mobilenet

* add some rename-mb in configs

* update README of spos

* add rename-mb in unittest

* update test_mmcls

Co-authored-by: wutongshenqiu <690364065@qq.com>
Co-authored-by: humu789 <humu@pjlab.org.cn>
2022-03-07 23:15:18 +08:00
pppppM c5a097b150
Add a new pre-commit-hook to automatically add a copyright (#96)
* Add a new pre-commit-hook to automatically add a copyright

* add check-algo-readme

Co-authored-by: qiufeng <44188071+wutongshenqiu@users.noreply.github.com>

* fix alg-readme lints

Co-authored-by: qiufeng <44188071+wutongshenqiu@users.noreply.github.com>
2022-03-02 20:29:28 +08:00
qiufeng 64ccbc03fd
[Enhance] Add setup multi-processes for all tasks (#59)
* Add setup-multi-processes for all tasks

* Add setup-multi-processes for all tasks

* Add test for setup-multi-processes
2022-01-26 19:17:55 +08:00
whcao f7fbe770a6
add pytest (#18)
Co-authored-by: caoweihan <caoweihan@sensetime.com>
2021-12-23 11:29:12 +08:00