โคลน repo
git clone https://github.com/peterliht/knowledge-distillation-pytorch.git
ติดตั้งการพึ่งพา (รวมถึง pytorch)
pip install -r requirements.txt
หมายเหตุ: hyperparameters ทั้งหมดสามารถพบและแก้ไขใน 'params.json' ภายใต้ 'model_dir'
-ฝึกอบรม CNN 5 ชั้นด้วยความรู้ที่กลั่นจากโมเดล Resnet-18 ที่ผ่านการฝึกอบรมมาก่อน
python train.py --model_dir experiments/cnn_distill
-ฝึกอบรมแบบจำลอง Resnet-18 ด้วยความรู้ที่กลั่นจากครู Resnext-29 ที่ผ่านการฝึกอบรมมาก่อน
python train.py --model_dir experiments/resnet18_distill/resnext_teacher
- การค้นหา hyperparameter สำหรับการทดลองที่ระบุ ('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
| แบบอย่าง | Dropout = 0.5 | ไม่มีการออกกลางคัน |
|---|---|---|
| CNN 5 ชั้น | 83.51% | 84.74% |
| 5 ชั้น CNN w/ resnet18 | 84.49% | 85.69% |
- การกลั่นความรู้จากแบบจำลองที่ลึกกว่าไปสู่ resnet-18
| แบบอย่าง | ทดสอบความแม่นยำ |
|---|---|
| พื้นฐาน resnet-18 | 94.175% |
| + KD WideresNet-28-10 | 94.333% |
| + KD PRERESNET-110 | 94.531% |
| + kd densenet-100 | 94.729% |
| + kd resnext-29-8 | 94.788% |
H. Li, "สำรวจการกลั่นความรู้ของอวนประสาทลึกสำหรับโซลูชันฮาร์ดแวร์ที่มีประสิทธิภาพ" รายงาน CS230, 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