This repository contains the code for the following paper:
Youhei Akimoto, Shinichi Shirakawa, Nozomu Yoshinari, Kento Uchida, Shota Saito, and Kouhei Nishida: Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search, 36th International Conference on Machine Learning (ICML), pp. 171-180 (2019) [PMLR] [arXiv]
If you use this code for your research, please cite our paper:
@inproceedings{AkimotoICML2019,
author = {Youhei Akimoto and Shinichi Shirakawa and Nozomu Yoshinari and Kento Uchida and Shota Saito and Kouhei Nishida},
title = {Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search},
booktitle = {Proceedings of the 36th International Conference on Machine Learning (ICML)},
pages = {171--180},
year = {2019}
}
.
├── README.md
├── classification (source codes of 3.2. CIFAR-10 classification task)
├── inpainting (source codes of 3.3. Celeb-A inpainting task)
└── toy (source codes of 3.1. Toy Problem)
We used the PyTorch version 0.4.1 for neural network implementation. We tested the codes on the following environment:
$ cd classification
$ python main_classification.py
classification
python main_classification.py
experiment
in python main_classification.py
$ cd inpainting
$ python main_inpainting_cat.py -d celebA -p ~/data/ -c Center -g 0 -o ./result/
The main script main_inpainting_cat.py
corresponds to the architecture encoding method using categorical variables, and main_inpainting_int.py
corresponds to the architecture encoding method using the mix of categorical and integer variables. Please see our paper in details.
inpainting
~/data/celebA/train/img/
, and test dataset is located at ~/data/celebA/test/img/
python main_inpainting_cat.py -d celebA -p ~/data/ -c Center -g 0 -o ./result/
-p
: path to the celebA dataset-c
: mask type ('Center' or 'RandomPixel' or 'RandomHalf')-g
: gpu id-o
: output directory$ cd toy
$ python main_toy.py
toy
python main_toy.py
(this program is run on CPU)
python main_benchmark.py
experiment(alg='ASNG', eta_x=0.05, eta_theta_factor=0., alpha=1.5, K=5, D=30, maxite=100000)