SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 1503.02531 · arXiv.org · 2015

Distilling the Knowledge in a Neural Network

Geoffrey Hinton, Oriol Vinyals, Jeff Dean

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 37 functions out of this paper's own repositories and ran 16 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
stdereka/knowledge-distillation reimplementation 3 of 3
chumingqian/Model_Compression_For_YOLOV3-V4 extension 3 of 3
KellyYutongHe/Knowledge-Distillation-Net-with-Swish reimplementation 2 of 2
DunZhang/KnowledgeDistillation reimplementation 2 of 2
mckunkel/DistillingObjectDetector pwc_unofficial 1 of 9
knotgrass/Knowledge-Distillation pwc_unofficial 1 of 9
yoshitomo-matsubara/torchdistill reimplementation 1 of 1
MasLiang/Learning-without-Forgetting-using-Pytorch reimplementation 1 of 1
wonbeomjang/Knowledge-Distilling-PyTorch reimplementation 1 of 1
scy-x/d3still extension 1 of 1
copy not recorded — 0 of 1
yangze01/Distilling_the_Knowledge_in_a_Neural_Network_pytorch reimplementation 0 of 1
trqminh/knowledge-distillation reimplementation 0 of 1
KaiyuYue/mgd reimplementation 0 of 1
JunzWu/Distilling-the-Knowledge-in-a-Neural-Network reimplementation 0 of 1
FunctionStatusWhere it lives
compute_accuracy Ran yoshitomo-matsubara/torchdistill/examples/torchvision/image_classification.py
code served (permissive licence) · get_code("a427a6169de8f607")
compute_mean_and_std Ran MasLiang/Learning-without-Forgetting-using-Pytorch/dataset.py
pointer only (licence: NONE) · get_code("2cbf06e40dbf54ee")
conv_block Ran wonbeomjang/Knowledge-Distilling-PyTorch/models.py
code served (permissive licence) · get_code("0a330946ecfac712")
d3_loss Ran scy-x/d3still/AIR_Distiller/distillers/D3.py
pointer only (licence: NONE) · get_code("274528b19a06a729")
eval_epoch Ran stdereka/knowledge-distillation/training.py
code served (permissive licence) · get_code("7308ca9b35a3b212")
fetch_teacher_outputs Ran KellyYutongHe/Knowledge-Distillation-Net-with-Swish/kd.py
pointer only (licence: NONE) · get_code("7ee88cf415894459")
fit_epoch Ran stdereka/knowledge-distillation/training.py
code served (permissive licence) · get_code("62f639fec5cb08e5")
loss_fn_kd Ran KellyYutongHe/Knowledge-Distillation-Net-with-Swish/kd.py
pointer only (licence: NONE) · get_code("8a5635108617215c")
obtain_avg_forward_time Ran chumingqian/Model_Compression_For_YOLOV3-V4/normal_prune.py
code served (permissive licence) · get_code("9c20329610d8c5e5")
obtain_filters_mask Ran chumingqian/Model_Compression_For_YOLOV3-V4/normal_prune.py
code served (permissive licence) · get_code("acb7b29614f1a161")
output_adaptor Ran DunZhang/KnowledgeDistillation/Examples/example_multi_layer_based_model/distill_bert.py
pointer only (licence: NOASSERTION) · get_code("0bd196791b1b86e6")
preprocess_input Ran mckunkel/DistillingObjectDetector/models/microxception.py
code served (permissive licence) · get_code("bee766c6e15044c2")
prune_and_eval Ran chumingqian/Model_Compression_For_YOLOV3-V4/normal_prune.py
code served (permissive licence) · get_code("ec78bec91ac01396")
softmax Ran knotgrass/Knowledge-Distillation/distiller/loss.py
code served (permissive licence) · get_code("cb5cbea0e8219ff5")
train Ran stdereka/knowledge-distillation/training.py
code served (permissive licence) · get_code("00a58257f6886584")
train_data_adaptor Ran DunZhang/KnowledgeDistillation/Examples/example_multi_layer_based_model/distill_bert.py
pointer only (licence: NOASSERTION) · get_code("95712f5d0bd66d34")
SqueezeNet Not yet run mckunkel/DistillingObjectDetector/models/squeezenet.py
code served (permissive licence) · get_code("f0854de100bbea76")
SqueezeNet Not yet run mckunkel/DistillingObjectDetector/models/squeezenet_model.py
code served (permissive licence) · get_code("6300eb91406d21bf")
accuracy Not yet run this paper's copy was not recorded; identical code first harvested from zbh2047/clipping-algorithms
pointer only · get_code("9b8289076669fe4f")
albumen_loader Not yet run knotgrass/Knowledge-Distillation/distiller/datasets.py
code served (permissive licence) · get_code("77551a1423d80be3")
check_same_order Not yet run knotgrass/Knowledge-Distillation/distiller/sorted_same_order.py
code served (permissive licence) · get_code("00c0d849e940be32")
conv2d_bn Not yet run mckunkel/DistillingObjectDetector/models/inceptionV3.py
code served (permissive licence) · get_code("f14f766b7e289b16")
desc Not yet run knotgrass/Knowledge-Distillation/distiller/print_utils.py
code served (permissive licence) · get_code("671c7f056497a8b6")
fire_module Not yet run mckunkel/DistillingObjectDetector/models/squeezenet.py
code served (permissive licence) · get_code("1b249ba85d8cf4ba")
get_mobilenet Not yet run mckunkel/DistillingObjectDetector/models/mobilenet.py
code served (permissive licence) · get_code("978081881d93f4be")
get_order Not yet run knotgrass/Knowledge-Distillation/distiller/sorted_same_order.py
code served (permissive licence) · get_code("a8b17275da494ca9")
loss_fn_kd Not yet run knotgrass/Knowledge-Distillation/distiller/loss.py
code served (permissive licence) · get_code("240a91c16bc48dd5")
mean_std Not yet run knotgrass/Knowledge-Distillation/distiller/pseudo_label.py
code served (permissive licence) · get_code("9f00b79fbcd75706")
microXception Not yet run mckunkel/DistillingObjectDetector/models/microxception.py
code served (permissive licence) · get_code("2d50b69c5762cfbe")
miniXception Not yet run mckunkel/DistillingObjectDetector/models/minixception.py
code served (permissive licence) · get_code("3ec85b13b3da58a4")
preprocess_input Not yet run mckunkel/DistillingObjectDetector/models/squeezenet.py
code served (permissive licence) · get_code("9eb8ac7c03e9b11b")
sort_by_order Not yet run knotgrass/Knowledge-Distillation/distiller/sorted_same_order.py
code served (permissive licence) · get_code("37db7f404db2f6ab")
train Not yet run knotgrass/Knowledge-Distillation/distiller/distiller.py
code served (permissive licence) · get_code("f7005e3d307e1c00")
train_body Not yet run yangze01/Distilling_the_Knowledge_in_a_Neural_Network_pytorch/joint_main.py
pointer only (licence: NONE) · get_code("c3041253233293ca")
train_student_model Not yet run trqminh/knowledge-distillation/train/train_student.py
pointer only (licence: NONE) · get_code("b7e8ebfd9b3a5233")
validate Not yet run KaiyuYue/mgd/cls/main_mgd.py
code served (permissive licence) · get_code("41bcf9c6e97f30d5")
validate Not yet run JunzWu/Distilling-the-Knowledge-in-a-Neural-Network/main_imagenet.py
pointer only (licence: NONE) · get_code("5b365f68a2be17aa")

Repositories linked to this paper

More are linked than shown here.

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on the same data and then to average their predictions [3]. Unfortunately, making predictions using a whole ensemble of models is cumbersome and may be too computationally expensive to allow deployment to a large number of users, especially if the individual models are large neural nets. Caruana and his collaborators [1] have shown that it is possible to compress the knowledge in an ensemble into a single model which is much easier to deploy and we develop this approach further using a different compression technique. We achieve some surprising results on MNIST and we show that we can significantly improve the acoustic model of a heavily used commercial system by distilling the knowledge in an ensemble of models into a single model. We also introduce a new type of ensemble composed of one or more full models and many specialist models which learn to distinguish fine-grained classes that the full models confuse. Unlike a mixture of experts, these specialist models can be trained rapidly and in parallel.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("1503.02531")
get_code_for_paper("1503.02531")
have("1503.02531")

Connect an agent — have() is free.