Neural architecture search that shares weights to save GPU centuries
The 2018 ENAS paper code that made NAS practical by training one shared model instead of thousands from scratch.

What it does
Implements Efficient Neural Architecture Search (ENAS), a method for automatically discovering neural network architectures for CIFAR-10 image classification. The core trick: instead of training each candidate architecture from scratch—a process that consumes thousands of GPU-hours—the controller samples subgraphs from a single large shared network, so the same weights serve many architectures.
The interesting bit
The parameter-sharing scheme is what made NAS feasible for mere mortals. The repo supports both macro search (picking operations and skip connections layer by layer) and micro search (designing repeatable cells), encoded as compact sequences of integers that the controller optimizes with policy gradient.
Key highlights
- Authors’ original TensorFlow implementation from the ICML 2018 paper
- Macro and micro search spaces with shell scripts to run each
- CIFAR-10 experiments ready to go after downloading the dataset
- Architecture encoding is admirably explicit: conv types, pooling, skip connections as numbered tuples
- Straightforward citation block if you’re building on it
Caveats
- The Penn Treebank language model implementation is wrong. The authors explicitly warn against using it and point to a corrected version in google-research
- No topics, sparse documentation beyond the shell scripts—expect to read the paper
- TensorFlow circa 2018; don’t expect modern Keras or PyTorch ergonomics
Verdict
Worth a look if you’re studying the history of NAS or need to reproduce the CIFAR-10 results exactly. Skip it if you want a maintained, general-purpose AutoML toolkit; this is a research artifact with one working experiment and one admitted bug.