This is an official pytorch implementation for "DU-DARTS: Decreasing the Uncertainty of Differentiable Architecture Search ".
- Python 3.7.10
- PyTorch 1.7.1
Pre-trained checkpoints and experimental logs are released here.
To evaluate a pre-trained DU-DARTS model on CIFAR-10, run:
python evaluate_cifar.py --arch du_darts_c10_s0 --dataset cifar10 --pretrained_ckpt ./pretrained/c10_s0_best_weights.pt
To evaluate a pre-trained DU-DARTS model on CIFAR-100, run:
python evaluate_cifar.py --arch du_darts_c100_s0 --dataset cifar100 --pretrained_ckpt ./pretrained/c100_s0_best_weights.pt
To evaluate a pre-trained DU-DARTS model on ImageNet, run:
python evaluate_imagenet.py --arch du_darts_c100_s0 --pretrained_ckpt ./pretrained/c10_imagenet_transfer_best_model.pth
To search a DU-DARTS model on CIFAR-10, run:
python train_search.py --arch_name du_darts_c10_s0 --layers 8 --loss_type entropy --dataset cifar10
To search a DU-DARTS model on CIFAR-100, run:
python train_search.py --arch_name du_darts_c100_s0 --layers 5 --loss_type entropy --dataset cifar100
To retrain a DU-DARTS model on CIFAR-10, run:
python retrain_cifar.py --arch du_darts_c10_s0 --dataset cifar10 --auxiliary --cutout
To retrain a DU-DARTS model on CIFAR-100, run:
python retrain_cifar.py --arch du_darts_c100_s0 --dataset cifar100 --auxiliary --cutout
To retrain a DU-DARTS model on ImageNet, run:
python -u retrain_imagenet.py --arch du_darts_c100_s0 --auxiliary
Please cite our paper if you find anything helpful.
@inproceedings{lu2021dudarts,
title={DU-DARTS: Decreasing the Uncertainty of Differentiable Architecture Search},
author={Lu, Shun and Hu, Yu and Yang, Longxing and Sun, Zihao and Mei, Jilin and Zeng Yiming and Li, Xiaowei },
booktitle={BMVC},
year={2021}
}
MIT License
This code is heavily borrowed from DARTS and SGAS. Great thanks to their contributions.