To test nas method, you can use following command
python tools/${task}/test_${task}.py ${CONFIG_FILE} ${CHECKPOINT_PATH} --cfg-options algorithm.mutable_cfg=${MUTABLE_CFG_PATH} [optional arguments]
MUTABLE_CFG_PATH
: Path ofmutable_cfg
.mutable_cfg
represents config for mutable of the subnet searched out, used to specify different subnets for testing. An example formutable_cfg
can be found here.
The usage of optional arguments are the same as corresponding tasks like mmclassification, mmdetection and mmsegmentation.
If you train a slimmable model during retraining, checkpoints of different subnets are actually fused in only one checkpoint. You can split this checkpoint to multiple independent checkpoints by using the following command
python tools/model_converters/split_checkpoint.py ${CONFIG_FILE} ${CHECKPOINT_PATH} --channel-cfgs ${CHANNEL_CFG_PATH} [optional arguments]
CHANNEL_CFG_PATH
: A list of paths ofchannel_cfg
. For example, when you retrain a slimmable model, your command will be like--cfg-options algorithm.channel_cfg=cfg1,cfg2,cfg3
. And your command here should be--channel-cfgs cfg1 cfg2 cfg3
. The order of them should be the same.
To test pruning method, you can use following command
python tools/${task}/test_${task}.py ${CONFIG_FILE} ${CHECKPOINT_PATH} --cfg-options algorithm.channel_cfg=${CHANNEL_CFG_PATH} [optional arguments]
CHANNEL_CFG_PATH
: Path ofchannel_cfg
.channel_cfg
represents config for channel of the subnet searched out, used to specify different subnets for testing. An example forchannel_cfg
can be found here, and the usage can be found here.
To test distillation method, you can use the following command
python tools/${task}/test_${task}.py ${CONFIG_FILE} ${CHECKPOINT_PATH} [optional arguments]