Skip to content
/ darts Public
forked from quark0/darts

Differentiable architecture search for convolutional and recurrent networks

License

Notifications You must be signed in to change notification settings

chicm-ms/darts

This branch is 69 commits behind quark0/darts:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b6d4fe1 · Jun 26, 2018

History

2 Commits
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 26, 2018

Repository files navigation

Differentiable Architecture Search

Code accompanying the paper

DARTS: Differentiable Architecture Search
Hanxiao Liu, Karen Simonyan, Yiming Yang.
arXiv:1806.09055.

darts

The algorithm is based on continuous relaxation and gradient descent in the architecture space. It is able to efficiently design high-performance convolutional architectures for image classification (on CIFAR-10 and ImageNet) and recurrent architectures for language modeling (on Penn Treebank and WikiText-2). Only a single GPU is required.

Requirements

Python >= 3.5.5, PyTorch == 0.3.1, torchvision >= 0.2.1

PyTorch 0.4 will be supported soon.

Datasets

Instructions for acquiring PTB and WT2 can be found here. While CIFAR-10 can be automatically downloaded by torchvision, ImageNet needs to be manually downloaded (preferably to a SSD) following the instructions here.

Architecture Search

To carry out architecture search, run

cd cnn && python train_search.py --unrolled     # for conv cells on CIFAR-10
cd rnn && python train_search.py --unrolled     # for recurrent cells on PTB

Snapshots of the most likely convolutional & recurrent cells over time:

progress_convolutional progress_recurrent

Architecture Evaluation

To reproduce our results using the best cells, run

cd cnn && python train.py --auxiliary --cutout            # CIFAR-10
cd rnn && python train.py                                 # PTB
cd rnn && python train.py --data ../data/wikitext-2 \     # WT2
            --dropouth 0.15 --emsize 700 --nhidlast 700 --nhid 700 --wdecay 5e-7
cd cnn && python train_imagenet.py --auxiliary            # ImageNet

Customized architectures are supported through the --arch flag once specified in genotypes.py.

About

Differentiable architecture search for convolutional and recurrent networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%