deNAS - Differential Evolution for Neural Architecture Search
Implementation of DE for NAS, benchmarked in the paper Differential Evolution for Neural Architecture Search accepted to the 1st NAS Workshop at ICLR 2020.
To access the paper:
To cite the paper or code:
@inproceedings{awad-iclr20,
author = {N. Awad and N. Mallik and F. Hutter},
title = {Differential Evolution for Neural Architecture Search},
booktitle = {Proceedings of the 1st workshop on neural architecture search(@{ICLR}'20)},
year = {2020},
month = apr
}
To contact authors for queries reqarding the paper:
- Neeratyoy Mallik (mallik@cs.uni-freiburg.de)
- Noor Awad (awad@cs.uni-freiburg.de)
To run experiments from NAS ICLR Workshop 2020 paper
Refer here (the parallel implementation of DE is also available here).
To get started with DE to optimize custom functions
Refer here.
Differential Evolution for Neural Architecture Search
The instructions to setup the benchmarks can be found here.
To run DE on NAS-Bench-101 or NAS-HPO-Bench:
PYTHONPATH=$PWD python3 denas/examples/nas101/run_de_nas101.py
To run DE on NAS-Bench-1shot1:
PYTHONPATH=$PWD python3 denas/examples/nas1shot1/run_de_nas1shot1.py
To run DE on NAS-Bench-201:
PYTHONPATH=$PWD python3 denas/examples/nas201/run_de_nas201.py
Plots can be generated in a similar way, by passing the directory of the stored output files. For example:
PYTHONPATH=$PWD python3 denas/utils/plot_regret.py --path denas/examples/results/cifara
PYTHONPATH=$PWD python3 denas/utils/plot_cdf.py --path denas/examples/results/nas101/cifara
For the above plotting script to work with the output of NAS-Bench-1shot1, the output files need to be additionally preprocessed, for example:
PYTHONPATH=$PWD python3 denas/utils/convert_files.py --path denas/examples/results/nas1shot1/ --ssp 1