레포를 복제하십시오
git clone https://github.com/peterliht/knowledge-distillation-pytorch.git
종속성 설치 (Pytorch 포함)
pip install -r requirements.txt
참고 : 모든 초 파라미터는 'model_dir'에서 'params.json'에서 찾아서 수정할 수 있습니다.
-사전 훈련 된 RESNET-18 모델에서 증류 된 지식으로 5 층 CNN을 훈련
python train.py --model_dir experiments/cnn_distill
-미리 훈련 된 Resnext-29 교사에서 증류 된 지식으로 RESNET-18 모델을 훈련
python train.py --model_dir experiments/resnet18_distill/resnext_teacher
- 지정된 실험에 대한 하이퍼 파라미터 검색 ( 'parent_dir/params.json')
python search_hyperparams.py --parent_dir experiments/cnn_distill_alpha_temp
-최근 hypersearch 실험의 결과를 확인하십시오
python synthesize_results.py --parent_dir experiments/cnn_distill_alpha_temp
빠른 테이크 아웃 (추가 자세한 내용) :
-RESNET-18에서 5 계층 CNN에서 지식 증류
| 모델 | 드롭 아웃 = 0.5 | 드롭 아웃이 없습니다 |
|---|---|---|
| 5 계층 CNN | 83.51% | 84.74% |
| 5 층 CNN W/ RESNET18 | 84.49% | 85.69% |
- 더 깊은 모델에서 RESNET-18까지의 지식 증류
| 모델 | 테스트 정확도 |
|---|---|
| 기준 RESNET-18 | 94.175% |
| + KD 더 넓은 레즈넷 -28-10 | 94.333% |
| + KD PRERESNET-110 | 94.531% |
| + KD Densenet-100 | 94.729% |
| + KD Resnext-29-8 | 94.788% |
H. Li, "효율적인 하드웨어 솔루션을위한 깊은 신경망의 지식 증류 탐색", CS230 Report, 2018
Hinton, Geoffrey, Oriol Vinyals 및 Jeff Dean. "신경망에서의 지식을 증류합니다." Arxiv preprint arxiv : 1503.02531 (2015).
Romero, A., Ballas, N., Kahou, SE, Chassang, A., Gatta, C., & Bengio, Y. (2014). Fitnets : 얇은 딥 네트에 대한 힌트. Arxiv preprint arxiv : 1412.6550.
https://github.com/cs230-stanford/cs230-stanford.github.io
https://github.com/bearpaw/pytorch-classification