mohyunho / NAS-Bench-360

Introducing diverse tasks for NAS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NAS-Bench-360

Resources

Datasets in the benchmark with download links:

Precomputed evaluation benchmark files on the NB201 search space (following NATS-Bench):

Full outputs (include training logs):

Prerequisites

We use the open-source Determined software to implement experiment code.

Installing determined: pip install determined

A master instance is required:

  • for local deployment (need to install docker):

    • to start the master: det deploy local cluster-up
    • access the WebUI at http://localhost:8080
    • to shut down: det deploy local cluster-down
  • for AWS deployment (preferred):

    • install AWS CLI
    • Run aws configure and find AWS EC2 keypair name
    • to start the master: det deploy aws up --cluster-id CLUSTER_ID --keypair KEYPAIR_NAME
    • access the WebUI at {ec2-instance-uri}:8080
    • to shut down: det deploy aws down --cluster-id CLUSTER_ID

For an end-to-end example of running experiments with determined, you can refer to this video.

When running experiments, a docker image is automatically pulled from docker hub which contains all required python packages , i.e. you don't need to install them yourself, and it ensures reproducibility.

Experiment Reproduction

We provide pytorch implementations for two state-of-the-art NAS algorithms: GAEA PC-DARTS (paper link) and DenseNAS (paper link), which can be found inside each folder with the associated name, i.e. "darts/" for GAEA PC-DARTS and "densenas/" for DenseNAS.

To run these algorithms on 1D tasks, we've adapted their search spaces whose experiments are provided in "darts_1d/" for GAEA PC-DARTS (1D) and "densenas_1d/" for DenseNAS(1D).

Two task-specific NAS methods are implemented: Auto-DeepLab for dense prediction tasks in "autodeeplab/" and AMBER for 1D prediction tasks in "AMBER/".

We also implement procedure for running and tuning hyperparameters of the backbone architecture Wide ResNet (paper link), in "backbone/". The 1D-customized Wide ResNet is in "backbone_1d/".

To modify the random seed for each experiment, modify the number under

reproducibility: experiment_seed: for each script

Leaderboard

alt text

About

Introducing diverse tasks for NAS

License:MIT License


Languages

Language:Python 91.3%Language:Jupyter Notebook 7.2%Language:Shell 0.6%Language:Cuda 0.4%Language:C++ 0.2%Language:Roff 0.1%Language:MATLAB 0.1%Language:C 0.0%Language:Batchfile 0.0%Language:Makefile 0.0%