/neural-architecture-transfer

Neural Architecture Transfer (Arxiv'20), PyTorch Implementation

Primary LanguagePython

Neural Architecture Transfer

Code accompanying the paper.

Neural Architecture Transfer

Zhichao Lu, Gautam Sreekumar, Erik Goodman, Wolfgang Banzhaf, Kalyanmoy Deb, and Vishnu Boddeti

arXiv:2005.05859

overview

Requirements

Python >= 3.7.x, PyTorch >= 1.4.0, timm >= 0.1.18 

ImageNet Classification

imagenet

python evaluator.py --data /path/to/dataset --model subnets/imagenet/NAT-{M1,M2,M3,M4}/net.config

Architecture Transfer

transfer

python evaluator.py \
  --data /path/to/dataset \
  --dataset {aircraft,cars,cifar10,cifar100,cinic10,dtd,flowers102,food101,pets,stl10} \
  --model subnets/{dataset}/net-img@{xxx}-flops@{xxx}-top1@{xx.x}/net.config

Scalability to Objectives

Tri-Objective

tri-obj

12-Objective

12-obj

Architecture Visualization

visualization

Acknowledgement

Codes are modified from OnceForAll and pytorch-image-models