# Cream of the Crop: Distilling Prioritized Paths For One-Shot Neural Architecture Search ## 0x01 requirements * Install the following requirements: ``` future thop timm<0.4 yacs ptflops==0.6.4 #tensorboardx #tensorboard #opencv-python #torch-scope #git+https://github.com/sovrasov/flops-counter.pytorch.git #git+https://github.com/Tramac/torchscope.git ``` * (required) Build and install apex to accelerate the training (see [yuque](https://www.yuque.com/kcgyxv/ukpea3/mxz5xy)), a little bit faster than pytorch DistributedDataParallel. * Put the imagenet data in `./data` Using the following script: ``` cd TADL_DIR/pytorch/cream/ ln -s /mnt/data . ``` ## 0x02 Quick Start * Run the following script to search an architecture. ``` python trainer.py ``` * Selector (deprecated) ``` python selector.py ``` * Train searched architectures. > Note: exponential moving average(model_ema) is not available yet. ``` python retrainer.py ```