Clonar el repositorio
git clone https://github.com/peterliht/knowledge-distillation-pytorch.git
Instale las dependencias (incluido Pytorch)
pip install -r requirements.txt
Nota: Todos los hiperparámetros se pueden encontrar y modificar en 'Params.json' en 'Model_dir'
-Entrena un CNN de 5 capas con conocimiento destilado de un modelo RESNET-18 previamente capacitado
python train.py --model_dir experiments/cnn_distill
-Entrena un modelo RESNET-18 con conocimiento destilado de un maestro de resnext-29 previamente capacitado
python train.py --model_dir experiments/resnet18_distill/resnext_teacher
- Hyperparameter Buscar para un experimento especificado ('Parent_dir/Params.json')
python search_hyperparams.py --parent_dir experiments/cnn_distill_alpha_temp
--Sintetize los resultados de los recientes experimentos de HyperSearch
python synthesize_results.py --parent_dir experiments/cnn_distill_alpha_temp
Takeaways rápidos (más detalles que se agregarán):
-Destilación del conocimiento de resnet-18 a 5 capas CNN
| Modelo | Abandonado = 0.5 | Sin abandono |
|---|---|---|
| CNN de 5 capas | 83.51% | 84.74% |
| CNN de 5 capas W/ Resnet18 | 84.49% | 85.69% |
- Destilación del conocimiento de modelos más profundos a Resnet-18
| Modelo | Precisión de la prueba |
|---|---|
| Línea de base Resnet-18 | 94.175% |
| + KD WidEesnet-28-10 | 94.333% |
| + KD Preresnet-110 | 94.531% |
| + Kd densenet-100 | 94.729% |
| + Kd resnext-29-8 | 94.788% |
H. Li, "Explorando la destilación del conocimiento de redes neuronales profundas para soluciones de hardware eficientes", Informe CS230, 2018
Hinton, Geoffrey, Oriol Vinyals y Jeff Dean. "Destilar el conocimiento en una red neuronal". ARXIV Preprint ARXIV: 1503.02531 (2015).
Romero, A., Ballas, N., Kahou, SE, Chassang, A., Gatta, C. y Bengio, Y. (2014). FitNets: sugerencias para redes profundas delgadas. preimpresión ARXIV ARXIV: 1412.6550.
https://github.com/cs230-stanford/cs230-stanford.github.io
https://github.com/bearpaw/pytorch-classification