Skip to content
FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search
Branch: master
Clone or download
fairnas Revert "Update result.png"
This reverts commit a5ba212.
Latest commit 418b892 Jul 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images Revert "Update result.png" Jul 4, 2019
models init Jul 3, 2019
pretrained init Jul 3, 2019
.gitignore init Jul 3, 2019
README.md init Jul 3, 2019
accuracy.py init Jul 3, 2019
dataloader.py init Jul 3, 2019
preprocess_val_dataset.sh init Jul 3, 2019
verify.py init Jul 3, 2019

README.md

FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search

Introduction

we propose a novel idea called Fair Neural Architecture Search (FairNAS), in which a strict fairness constraint is enforced for fair inheritance and training. In this way, our supernet exhibits nice convergence and very high training accuracy. The performance of any sampled model loaded with shared weights from the supernet strongly correlates with that of stand-alone counterpart when trained fully. This result dramatically improves the searching efficiency, with a multi-objective reinforced evolutionary search backend, our pipeline generated a new set of state-of-the-art architectures on ImageNet: FairNAS-A attains 75.34% top-1 validation accuracy on ImageNet, FairNAS-B 75.10%, FairNAS-C 74.69%, even with lower multi-adds and/or fewer number of parameters compared with others.

The architectures of FairNAS-A,B,C are drawn below.

Requirements

  • Python 3.6 +
  • Pytorch 1.0.1 +

Updates

  • Jul-3-2019: Model release of FairNAS-A, FairNAS-B, FairNAS-C.

Performance Result

Preprocessing

We have reorganized all validation images of the ILSVRC2012 ImageNet by their classes.

  1. Download ILSVRC2012 ImageNet dataset.

  2. Change to ILSVRC2012 directory and run the preprocessing script with

     ./preprocess_val_dataset.sh
    

Evaluate

python3 verify.py --model [FairNAS_A|FairNAS_B|FairNAS_C] --device [cuda|cpu] --val-dataset-root [ILSVRC2012 root path] --pretrained-path [pretrained model path]
You can’t perform that action at this time.