Skip to content
/ MODNAS Public

Official Repo for "Multi-objective Differentiable Neural Architecture Search"

Notifications You must be signed in to change notification settings

automl/MODNAS

Repository files navigation

MODNAS

Official repo for the paper MODNAS: Multi-objective Differentiable Neural Architecture Search

title

Overview

  1. Installation & Dependencies
  2. Working Tree and Dataset Preparation
  3. Experiments
  4. Plotting
  5. Baselines

1. Installation & Dependencies

To install the dependencies:

conda create --name modnas python=3.9
conda activate modnas
pip install -r requirements.txt

2. Working Tree and Dataset Preparation

Code working tree

├── predictors
│   ├── hat
│   ├── help
│   ├── nb201
│   ├── ofa
├── hypernetworks
│   ├── models
│   ├── pretrain_hpns
├── scripts
├── optimizers
│   ├── help
│   ├──mgd
│   ├── mixop
│   ├── sampler
│   ├── optim_factory.py
├── plotting
├── search_spaces
│   ├── hat
│   ├── MobileNetV3
│   ├── nb201

The predictors folder contains the meta predictors for different search spaces

The hypernetworks folder contains the architectures of our hypernetworks for different search spaces

The scripts folder contains the scripts to batch different jobs

The optimizers folder contains the different one-shot and black box optimizers for architecture search

The plotting folder contains the scripts used for radar plots

The search_spaces folder contains the definition of the search spaces search spaces nasbench201, mobilenetv3, hardware aware transformers

The predictor_data_utils and hypernetwork_data_utils folder contains the pretrained predictors and hypernetworks respectively

The baselines folder contains the scripts to run the synetune baselines for different search spaces.

Dataset preparation

CIFAR10 and CIFAR100 datasets will be automatically downloaded Download the imagenet-1k from here and update the path to the dataset in the training script. The dataset Imagenet16-120

Follow the instructions here to download the binary files for the different machine translation datasets.

3. Experiments

Pretrain Hypernetworks for NAS-Bench-201, MobileNetV3, Hardware-Aware-Transformers

python hypernetworks/pretrain_hpns/pretrain_hpns_nb201.py
python hypernetworks/pretrain_hpns/pretrain_hpns_ofa.py
python hypernetworks/pretrain_hpns/pretrain_hpns_hat.py

Pretrain Predictors for NAS-Bench-201, MobileNetV3, Hardware-Aware-Transformers