fast autoaugment
1.0.0
Pytorch的官方快速自動實施實施。

搜索: 3.5個GPU小時(比自動儀快1428倍) ,降低CIFAR-10的WRESNET-40X2
| 型號(CIFAR-10) | 基線 | 剪下 | 自動說明 | 快速自動說明 (轉移/直接) | |
|---|---|---|---|---|---|
| 廣泛的RESNET-40-2 | 5.3 | 4.1 | 3.7 | 3.6 / 3.7 | 下載 |
| 廣泛的28-10 | 3.9 | 3.1 | 2.6 | 2.7 / 2.7 | 下載 |
| 搖晃(26 2x32d) | 3.6 | 3.0 | 2.5 | 2.7 / 2.5 | 下載 |
| 搖晃(26 2x96d) | 2.9 | 2.6 | 2.0 | 2.0 / 2.0 | 下載 |
| 搖晃(26 2x112d) | 2.8 | 2.6 | 1.9 | 2.0 / 1.9 | 下載 |
| 金字塔+shakedrop | 2.7 | 2.3 | 1.5 | 1.8 / 1.7 | 下載 |
| 型號(CIFAR-100) | 基線 | 剪下 | 自動說明 | 快速自動說明 (轉移/直接) | |
|---|---|---|---|---|---|
| 廣泛的RESNET-40-2 | 26.0 | 25.2 | 20.7 | 20.7 / 20.6 | 下載 |
| 廣泛的28-10 | 18.8 | 18.4 | 17.1 | 17.3 / 17.3 | 下載 |
| 搖晃(26 2x96d) | 17.1 | 16.0 | 14.3 | 14.9 / 14.6 | 下載 |
| 金字塔+shakedrop | 14.0 | 12.2 | 10.7 | 11.9 / 11.7 | 下載 |
搜索: 450 GPU小時(比自動說明快33倍) ,Resnet-50在減少的Imagenet上
| 模型 | 基線 | 自動說明 | 快速自動說明 (top1/top5) | |
|---|---|---|---|---|
| Resnet-50 | 23.7 / 6.9 | 22.4 / 6.2 | 22.4 / 6.3 | 下載 |
| Resnet-200 | 21.5 / 5.8 | 20.0 / 5.0 | 19.4 / 4.7 | 下載 |
筆記
我們已經對有效網絡進行了其他實驗。
| 模型 | 基線 | 自動說明 | 我們的基線(批次) | +快速AA | |
|---|---|---|---|---|---|
| B0 | 23.2 | 22.7 | 22.96 | 22.68 |
搜索: 1.5 GPU小時
| 基線 | Autoaug /我們的 | 快速自動說明 | |
|---|---|---|---|
| 寬resnet28x10 | 1.5 | 1.1 | 1.1 |
我們進行了實驗
請閱讀Ray的文檔,以構建適當的射線群集:https://github.com/ray-project/ray,並使用Master's Redis地址運行search.py。
$ python search.py -c confs/wresnet40x2_cifar10_b512.yaml --dataroot ... --redis ...
您可以在CIFAR-10 /100上培訓網絡體系結構,並通過我們的搜索策略進行Imagenet。
$ export PYTHONPATH=$PYTHONPATH:$PWD
$ python FastAutoAugment/train.py -c confs/wresnet40x2_cifar10_b512.yaml --aug fa_reduced_cifar10 --dataset cifar10
$ python FastAutoAugment/train.py -c confs/wresnet40x2_cifar10_b512.yaml --aug fa_reduced_cifar10 --dataset cifar100
$ python FastAutoAugment/train.py -c confs/wresnet28x10_cifar10_b512.yaml --aug fa_reduced_cifar10 --dataset cifar10
$ python FastAutoAugment/train.py -c confs/wresnet28x10_cifar10_b512.yaml --aug fa_reduced_cifar10 --dataset cifar100
...
$ python FastAutoAugment/train.py -c confs/resnet50_b512.yaml --aug fa_reduced_imagenet
$ python FastAutoAugment/train.py -c confs/resnet200_b512.yaml --aug fa_reduced_imagenet
通過添加一種 - 一種效果和 - 儲備論證,您可以在不培訓的情況下測試訓練有素的模型。
如果您想使用Multi-GPU/ torch.distributed.launch進行訓練
$ python -m torch.distributed.launch --nproc_per_node={num_gpu_per_node} --nnodes={num_node} --master_addr={master} --master_port={master_port} --node_rank={0,1,2,...,num_node} FastAutoAugment/train.py -c confs/efficientnet_b4.yaml --aug fa_reduced_imagenet如果您在研究中使用此代碼,請引用我們的論文。
@inproceedings{lim2019fast,
title={Fast AutoAugment},
author={Lim, Sungbin and Kim, Ildoo and Kim, Taesup and Kim, Chiheon and Kim, Sungwoong},
booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
year={2019}
}
我們增加了批量的規模並相應地適應學習率以提高培訓。否則,如果可能的話,我們將其他等於自動儀的超參數設置為等於自動儀。對於未知的超參數,我們遵循原始參考文獻中的值,或者我們調整它們以匹配基線性能。