Pytorch -Code für "mehr Aufmerksamkeit schenken
Konferenzpapier unter ICLR2017: https://openreview.net/forum?id=sks9_ajex
Was ist bisher in diesem Repo:
Kommen:
Der Code verwendet pytorch https://pytorch.org. Beachten Sie, dass die ursprünglichen Experimente unter Verwendung von Torch-Autograd durchgeführt wurden, wir haben bisher validiert, dass CIFAR-10-Experimente in Pytorch genau reproduzierbar sind und dies für ImagNet in Bearbeitung von Pytorch aufgrund von Hyperparametern etwas schlechter sind).
Bibtex:
@inproceedings{Zagoruyko2017AT,
author = {Sergey Zagoruyko and Nikos Komodakis},
title = {Paying More Attention to Attention: Improving the Performance of
Convolutional Neural Networks via Attention Transfer},
booktitle = {ICLR},
url = {https://arxiv.org/abs/1612.03928},
year = {2017}}
Installieren Sie zuerst Pytorch und installieren Sie dann Torchnet:
pip install git+https://github.com/pytorch/tnt.git@master
Installieren Sie dann andere Python -Pakete:
pip install -r requirements.txt
In diesem Abschnitt wird beschrieben, wie die Ergebnisse in Tabelle 1 des Papiers erhalten werden.
Erstens trainieren Sie Lehrer:
python cifar.py --save logs/resnet_40_1_teacher --depth 40 --width 1
python cifar.py --save logs/resnet_16_2_teacher --depth 16 --width 2
python cifar.py --save logs/resnet_40_2_teacher --depth 40 --width 2
Mit Aktivierungsbasis bei DO zu trainieren:
python cifar.py --save logs/at_16_1_16_2 --teacher_id resnet_16_2_teacher --beta 1e+3
Mit KD trainieren:
python cifar.py --save logs/kd_16_1_16_2 --teacher_id resnet_16_2_teacher --alpha 0.9
Wir planen, AT+KD mit verfallener beta hinzuzufügen, um bald die besten Wissenstransfergebnisse zu erzielen.
Wir bieten Resnet-18-Modell mit Aktivierung basierend auf:
| Modell | VAL -Fehler |
|---|---|
| Resnet-18 | 30.4, 10.8 |
| Resnet-18-resnet-34-at | 29.3, 10.0 |
Download-Link: https://s3.amazonaws.com/modelzoo-networks/resnet-18-at-export.pth
Modelldefinition: https://github.com/szagoruyko/functional-zoo/blob/master/resnet-18-at-export.ipynb
Konvergenzdiagramm:
Download PretRained Gewichte für Resnet-34 (siehe auch Functional-Zoo für weitere Informationen):
wget https://s3.amazonaws.com/modelzoo-networks/resnet-34-export.pth
Bereiten Sie die Daten nach FB.Resnet.torch und führen Sie das Training aus (z. B. mit 2 GPUs):
python imagenet.py --imagenetpath ~/ILSVRC2012 --depth 18 --width 1
--teacher_params resnet-34-export.hkl --gpu_id 0,1 --ngpu 2
--beta 1e+3