TensorFlow implementation of PNASNet-5. While completely compatible with the official implementation, this implementation focuses on simplicity and inference.

In particular, three files of 1200 lines in total (,, are refactored into two files of 400 lines in total (, This code no longer supports NCHW data format, primarily because the released model was trained with NHWC. I tried to keep the rough structure and all functionalities of the official implementation when simplifying it.

If you use the code, please cite:

  author    = {Chenxi Liu and
               Barret Zoph and
               Maxim Neumann and
               Jonathon Shlens and
               Wei Hua and
               Li{-}Jia Li and
               Li Fei{-}Fei and
               Alan L. Yuille and
               Jonathan Huang and
               Kevin Murphy},
  title     = {Progressive Neural Architecture Search},
  booktitle = {European Conference on Computer Vision},
  year      = {2018}


  • TensorFlow 1.8.0
  • torchvision 0.2.1 (for dataset loading)

Data and Model Preparation

  • Download the ImageNet validation set and move images to labeled subfolders. To do the latter, you can use this script. Make sure the folder val is under data/.
  • Download the PNASNet-5_Large_331 pretrained model:
cd data
tar xvf pnasnet-5_large_2017_12_13.tar.gz



The last printed line should read:

Test: [50000/50000]	[email protected] 0.829	[email protected] 0.962