Learning From Mistakes: A Multi-level Optimization Framework (Official Pytorch implementation for applications to Neural Architecture Search (NAS) and Data Reweighting (DR)).
The requiring environment is as bellow:
- Linux
- Python 3+
- PyTorch 1.8.1
- Torchvision 0.9.1
Here is an example about running the search stage of DARTS on CIFAR-10:
python train_search_lfm.py --is_cifar100 0 --gpu 0 --unrolled --save darts-cifar10Here is an example about running the evaluation stage of architecture searched on CIFAR-10:
python train.py --gpu 0 --auxiliary --cutout --arch [searched architecture]Here is an example about running the experiment on class imbalance dataset with 100 imbalance factor
python dr-lfm-imbalance.py --dataset cifar100 --num_classes 100 --imb_factor 0.01Checkpoints of the Application to NAS:
- Evaluation checkpoints for DARTS on CIFAR-10
- Evaluation checkpoints for P-DARTS on CIFAR-10
- Evaluation checkpoints on ImageNet with architecture search by DARTS on CIFAR-10
- Evaluation checkpoints on ImageNet with architecture search by P-DARTS on CIFAR-10
Checkpoints of the Application to DR (Class Imbalance):
- Checkpoints for experiment on CIFAR-10 with 10 Imbalance Factor
- Checkpoints for experiment on CIFAR-10 with 20 Imbalance Factor
- Checkpoints for experiment on CIFAR-10 with 50 Imbalance Factor
- Checkpoints for experiment on CIFAR-10 with 100 Imbalance Factor
- Checkpoints for experiment on CIFAR-10 with 200 Imbalance Factor
- Checkpoints for experiment on CIFAR-100 with 10 Imbalance Factor
- Checkpoints for experiment on CIFAR-100 with 20 Imbalance Factor
- Checkpoints for experiment on CIFAR-100 with 50 Imbalance Factor
- Checkpoints for experiment on CIFAR-100 with 100 Imbalance Factor
- Checkpoints for experiment on CIFAR-100 with 200 Imbalance Factor
Checkpoints of the Application to DR (Label Noisy):