Implementare PyTorch pentru KSE.

Abstract

Comprimarea retelelor neuronale convolutionale (CNN) a primit un accent de cercetare din ce in ce mai mare. Cu toate acestea, majoritatea metodelor de compresie CNN existente nu isi interpreteaza structurile inerente pentru a distinge redundanta implicita. In aceasta lucrare, investigam problema compresiei CNN dintr-o perspectiva interpretabila noua. Relatia dintre hartile caracteristicilor de intrare si nucleele 2D este dezvaluita intr-un cadru teoretic, pe baza caruia se propune un indicator de raritate si entropie a nucleului (KSE) pentru a cuantifica importanta hartii caracteristicilor intr-un mod agnostic de caracteristica pentru a ghida compresia modelului. Clusterul kernelului este realizat in continuare pe baza indicatorului KSE pentru a realiza o compresie CNN de mare precizie. KSE este capabil sa comprime simultan fiecare strat intr-un mod eficient, ceea ce este semnificativ mai rapid in comparatie cu metodele anterioare de taiere a hartilor de caracteristici bazate pe date. Evaluam in mod cuprinzator compresia si accelerarea metodei propuse pe CIFAR-10, SVHN si ImageNet 2012. Metoda noastra demonstreaza castiguri superioare de performanta fata de cele anterioare. In special, realizeaza o reducere de 4,7 × FLOP si o compresie de 2,9 × pe ResNet-50, cu o scadere a preciziei Top-5 de 0,35% pe ImageNet 2012, care depaseste semnificativ metodele de ultima generatie.

Citare

Daca KSE este util in cercetarea dvs., va rugam sa luati in considerare citarea:

@inproceedings {li2018exploiting, title = {Exploiting Kernel Sparsity and Entropy for Interpretable CNN Compression}, author = {Li, Yuchao si Lin, Shaohui si Zhang, Baochang si Liu, Jianzhuang si Doermann, David si Wu, Yongjian si Huang, Feiyue si Ji, Rongrong}, booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, year = {2019}}

Codul de rulare

In acest cod, puteti rula modelul nostru Resnet-56 si Densenet-40 pe setul de date CIFAR10. Codul a fost testat de Python 3.5, Pytorch 0.4.1 si CUDA 9.0 pe Ubuntu 16.04.

Exemplu de rulare

Tren

CIFAR-10

ResNet-56 (G = 4, T = 0)
python train.py –net resnet56 –pretrained True –checkpoint pth / resnet56.pth –train_dir tmp / resnet56_G4T0 –train_batch_size 128 –learning_rate 0,01 –epochs 200 –schedule 100 –G 4 –T 0
DensetNet-40 (G = 5, T = 0)
python train.

xxx incesto real sexogratis
porns sexo gratis
maduras a cuatro patas videos sexo
videos porno caseros en español mia kalifa
mi vecina me folla porno abuelas
peliculas porno gay en español videos de sexo gratis
videos pornos muy guarros pprno
porno amater español guarras españolas
se follan a mi mujer nicolette shea
peliculas porno de incesto gratis videos sexo gratis
videos guarros zofilia
travestis dotadas abuelas porno
andaluzas follando videos guarros
peliculas porno vintage maduras en playas nudistas
maduras gozando videos de investo
travestis españolas video sexo
xxxgay coñitos
gitana follando guarras.com
trios x videos guarros
se folla a su madre pelisxxx

py –net densenet40 –pretrained True –checkpoint pth / densenet40.pth –train_dir tmp / densenet40_G5T0 –train_batch_size 128 –learning_rate 0,01 –epochs 200 –schedule 100 –G 5 –T 0

ImageNet

Modificarea „train_image_dir” si „val_image_dir” din setul de date / imagenet.py la calea setului de date ImageNet,

ResNet-50 (G = 5, T = 1)
python train.py –net resnet50 –dataset imagenet –pretrained True –checkpoint resnet50.pth –train_dir tmp / resnet50_G5T1 –train_batch_size 64 –learning_rate 0.001 –epochs 21 –schedule 7 14 –G 5 – -T 1
Inception-v1 (G = 4, T = 1)
python train.py –net inception_v1 –dataset imagenet –pretrained True –checkpoint inception_v1.pth –train_dir tmp / inceptionv1_G4T1 –train_batch_size 64 –learning_rate 0.001 –epochs 21 –schedule 7 14 –G 4 – -T 1

Test

ResNet-56 (G = 4, T = 0)
python test.py –net resnet56 –pretrained True –checkpoint tmp / resnet56_G4T0 / model_best.pth –G 4 –T 0
DensetNet-40 (G = 5, T = 0)
python test.py –net densenet40 –pretrained True –checkpoint tmp / densenet40_G5T0 / model_best.pth –G 5 –T 0

Experimente

ResNet-50 (ImageNet2012)

Model Raport de compresie Raport de accelerare Top-1 Acc. Top-5 Acc. PIB-0,6 [1] – 2,2 71,89% 90,71% ResNet-50 (2 ×) [2] – 1,5 72,30% 90,80% ThiNet-50 [3] 2,0 2,4 71,01% 90,02% KSE (G = 5) 2,6 3,8 75,51% 92,69%

Inception-v1 (ImageNet2012)

Model Raport de compresie Raport de accelerare Top-1 Acc. Top-5 Acc. K-inseamna profund [4] 1,5 – 69,50% 89,63% KSE (G = 4) 1,9 2,1 70,36% 89,79%

Referinte

[1] Shaohui Lin, Rongrong Ji, Yuchao Li, Yongjian Wu, Feiyue Huang si Baochang Zhang. Accelerarea retelelor convolutionale prin taierea filtrelor globale si dinamice. Conferinta internationala comuna privind inteligenta artificiala (IJCAI), 2018.

[2] Yihui He, Xiangyu Zhang si Jian Sun. Tunderea canalelor pentru accelerarea retelelor neuronale foarte profunde. Conferinta internationala privind viziunea computerizata (ICCV), 2017.

[3] Jian-Hao Luo, Jianxin Wu si Weiyao Lin. Thinet: O metoda de taiere la nivel de filtru pentru compresia retelei neuronale profunde. Conferinta internationala privind viziunea computerizata (ICCV), 2017.

[4] Wu J, Wang Y, Wu Z si colab. Deep k-Means: Re-training si partajarea parametrilor cu alocari mai grele de cluster pentru comprimarea convolutiilor profunde. Conferinta internationala de invatare automata (ICML), 2018.

sfaturi

Daca gasiti probleme, va rugam sa nu ezitati sa contactati autorii ([email protected]).