- weighted_sum : Like fbnet, output of block is the weighted sum of units in the block.
- sample : Like proxyless, output of block is one unit sampled from all the units in the block.
- dag : Like DARTS, treat block as a DAG, every edge's output is the weighted sum of all the operations specified.
- classification : For classification task, output ce, acc.
- detection : For detection task, highly depend on
mmdetection
andmmcv
. - regress(TODO) : For regression task, e.g. landmark
- segmentation(TODO) : For segmentation task
Assembly class, stack base, block, head.
- darts : snas, but no shared architecture parameters.
- fbnet_faster_rcnn : fbnet + faster rcnn
- proxyless : proxyless, but use reward = - (ce + time cost)
Do search, train model parameters and architecture parameters iteratively.
Assume you are under direcotry ${nas_directory}/
, you can run some demo with following scipts.
NOTE: You may need to modify path
for dataset and log in ${nas_directory}/nas/demo/*.py
.
- proxyless
python -m nas.demo.proxyless_nas_cifar10.py --log-frequence 50 --gpus 0,1 --batch-size 128
- fbnet
python -m nas.demo.fbnet_cus_mxnet_rec.py --gpus 0,1,2,3,4,5,6,7 --log-frequence 100 --batch-size 192
- snas
python -m nas.demo.darts_cifar10.py --gpus 0,1 --log-frequence 50 --batch-size 32
- detection
python -m nas.demo.fbnet_faster_rcnn.py --gpus 0,1,2,3