Skip to content

ELO-Lab/TF-MOPNAS

Repository files navigation

TF-MOPNAS: Training-free multi-objective pruning-based neural architecture search

MIT licensed

Quan Minh Phan, Ngoc Hoang Luong.

In ICCCI 2022.

Setup

  • Clone this repo.
  • Install necessary packages.
$ pip install -r requirements.txt
  • If you meet a problem involving to fvcore and nats-bench packages, please re-install it.
$ pip install nats-bench
$ pip install fvcore==0.1.5post20220119
  • Download the database in here, unzip and put all folders into benchmark_data folder for building benchmarks' APIs when conducting NAS runs.

Usage

Note: To experiment without changing too much in the source code, we recommend that the benchmarks' databases should be stored in the default folder (i.e., benchmark_data)

$ python <running_file> --n_runs <the_number_of_experiment_runs, default: 31> --seed <initial_random_seed, default: 0>

To conduct searches on a specific search space, we just run the corresponding file.

running_file Benchmark Algorithm
run_101.py NAS-Bench-101 TF-MOPNAS (random cell topologies + edges pruning)
run_1shot1.py NAS-Bench-1shot1 TF-MOPNAS (cell topologies + edges pruning)
run_1shot1_random.py NAS-Bench-1shot1 TF-MOPNAS (random cell topologies + edges pruning)
run_201.py NAS-Bench-201 TF-MOPNAS (edges pruning)

For example, we want to search on NAS-Bench-201 benchmark:

$ python run_201.py

Results in paper

NAS-Bench-101

NAS-Bench-1shot1

NAS-Bench-201

Acknowledgement

Our source code is inspired by:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages