13 Commits

Author SHA1 Message Date
Yang Gao
42e8de73af
[Improvement] Adapt OFA series with SearchableMobileNetV3 (#385)
* fix mutable bug in AttentiveMobileNetV3

* remove unness code

* update ATTENTIVE_SUBNET_A0-A6.yaml with optimized names

* unify the sampling usage in sandwich_rule-based NAS

* use alias to export subnet

* update OFA configs

* fix attr bug

* fix comments

* update convert_supernet2subnet.py

* correct the way to dump DerivedMutable

* fix convert index bug

* update OFA configs & models

* fix dynamic2static

* generalize convert_ofa_ckpt.py

* update input_resizer

* update README.md

* fix ut

* update export_fix_subnet

* update _dynamic_to_static

* update fix_subnet UT & minor fix bugs

* fix ut

* add new autoaug compared to attentivenas

* clean

* fix act

* fix act_cfg

* update fix_subnet

* fix lint

* add docstring

Co-authored-by: gaoyang07 <1546308416@qq.com>
Co-authored-by: aptsunny <aptsunny@tongji.edu.cn>
2022-12-15 22:19:55 +08:00
Yue Sun
fb42405af8
[Feature] Add Autoformer algorithm (#315)
* update candidates

* update subnet_sampler_loop

* update candidate

* add readme

* rename variable

* rename variable

* clean

* update

* add doc string

* Revert "[Improvement] Support for candidate multiple dimensional search constraints."

* [Improvement] Update Candidate with multi-dim search constraints. (#322)

* update doc

* add support type

* clean code

* update candidates

* clean

* xx

* set_resource -> set_score

* fix ci bug

* py36 lint

* fix bug

* fix check constrain

* py36 ci

* redesign candidate

* fix pre-commit

* update cfg

* add build_resource_estimator

* fix ci bug

* remove runner.epoch in testcase

* [Feature] Autoformer architecture and dynamicOPs (#327)

* add DynamicSequential

* dynamiclayernorm

* add dynamic_pathchembed

* add DynamicMultiheadAttention and DynamicRelativePosition2D

* add channel-level dynamicOP

* add autoformer algo

* clean notes

* adapt channel_mutator

* vit fly

* fix import

* mutable init

* remove annotation

* add DynamicInputResizer

* add unittest for mutables

* add OneShotMutableChannelUnit_VIT

* clean code

* reset unit for vit

* remove attr

* add autoformer backbone UT

* add valuemutator UT

* clean code

* add autoformer algo UT

* update classifier UT

* fix test error

* ignore

* make lint

* update

* fix lint

* mutable_attrs

* fix test

* fix error

* remove DynamicInputResizer

* fix test ci

* remove InputResizer

* rename variables

* modify type

* Continued improvements of ChannelUnit

* fix lint

* fix lint

* remove OneShotMutableChannelUnit

* adjust derived type

* combination mixins

* clean code

* fix sample subnet

* search loop fly

* more annotations

* avoid counter warning and modify batch_augment cfg by gy

* restore

* source_value_mutables restriction

* simply arch_setting api

* update

* clean

* fix ut
2022-11-14 13:01:04 +08:00
pppppM
d37829eb60
[Refactor] Refactor Mutables and Mutators (#324)
* refactor mutables

* update load fix subnet

* add DumpChosen Typehint

* adapt UTs

* fix lint

* Add GroupMixin to ChannelMutator (temporarily)

* fix type hints

* add GroupMixin doc-string

* modified by comments

* fix type hits

* update subnet format

* fix channel group bugs and add UTs

* fix doc string

* fix comments

* refactor diff module forward

* fix error in channel mutator doc

* fix comments

Co-authored-by: liukai <liukai@pjlab.org.cn>
2022-11-01 12:49:42 +08:00
Yang Gao
4b3f8ab69e
[Feature] Refactor Estimator for computing FLOPs/Params/Latency. (#230)
* Refactor ModelEstimator:
1. add EvaluatorLoop in engine.runners;
2. add estimator for structures (both subnet & supernet);
3. add layer_counter for each op.

* fix lint

* update estimator:
1. add ResourceEstimator based on BaseEstimator;
2. add notes & examples for ResourceEstimator & EvaluatorLoop usage;
3. fix a bug of latency test.
4. minor changes according to comments.

* add UT & fix a bug caused by UT

* add docstrings & remove old estimator

* update docstrings for op_spec_counters

* rename resource_evaluator_val_loop

* support adding resource attrs of each submodule in a measured model

* fix lint

* refactor estimator file structures

* support estimating resources for spec modules

* rm old UT

* update new estimator UT cases

* fix traversal range of the model

* cancel unit convert in accumulate_sub_module_flops_params

* use estimator_cfg to build ResourceEstimator

* fix a broadcast bug

* delete fixed input_shape

* add assertion and string-format-return when measuring spec_modules

* add UT for estimating spec_modules
2022-08-23 15:01:47 +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
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
qiufeng
5ddfed5040 [Feature] Add slimmable algorithm 2022-07-15 23:05:07 +08:00
PJDong
6c920c88ee Align SPOS and DetNAS to MMRazor2.0 2022-07-15 23:04:38 +08:00
humu789
1e3f8e9f67 Refactor EvolutionSearcher 2022-07-15 23:04:38 +08:00
PJDong
0939aecdb6 refactor name of mutable module 2022-07-15 23:04:38 +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