This is an official pytorch implementation for "DDSAS: Dynamic and Differentiable Space-Architecture Search".
- Python 3.6.8
- PyTorch 1.4.0
Download CIFAR10/CIFAR100/ImageNet dataset and place them in .data/ folder.
To obtain the dataset for ImageNet search, run:
python imagenet_split.py
Pre-trained checkpoints are released google drive/baiduyun. Place them in the .weights/ folder.
Note: access code for baiduyun
is ddsa
.
To evaluate a pre-trained DDSAS model on CIFAR10/CIFAR100/ImageNet, run:
bash shell/eval_cifar10.sh
bash shell/eval_cifar100.sh
bash shell/eval_imagenet.sh
To search a DDSAS model on CIFAR10/CIFAR100/ImageNet, run:
bash shell/search_cifar10.sh
bash shell/search_cifar100.sh
bash shell/search_imagenet.sh
To search a DDSAS model in a shrinking/expanding search space on CIFAR10/CIFAR100, run:
bash shell/search_cifar10_shrink.sh
bash shell/search_cifar10_expand.sh
bash shell/search_cifar100_shrink.sh
bash shell/search_cifar100_expand.sh
To retrain a DDSAS on CIFAR10/CIFAR100/ImageNet, run:
bash shell/retrain_cifar10.sh
bash shell/retrain_cifar100.sh
bash shell/retrain_imagenet.sh
Please cite our paper if you find anything helpful.
@InProceedings{yang21,
title = {DDSAS: Dynamic and Differentiable Space-Architecture Search},
author = {Yang, Longxing and Hu, Yu and Lu, Shun and Sun, Zihao and Mei, Jilin and Zeng, Yiming and Shi, Zhiping and Han, Yinhe and Li, Xiaowei},
booktitle={ACML},
year={2021}
}
MIT License
This code is heavily borrowed from DARTS and SGAS. Great thanks to their contributions.