يحتوي هذا المستودع على تطبيق Pytorch الرسمي للورقة التالية
تعلم الشبكات التلافيفية الفعالة من خلال تخسيس الشبكة (ICCV 2017).
Zhuang Liu ، Jianguo Li ، Zhiqiang Shen ، Gao Huang ، Shoumeng Yan ، Changshui Zhang.
التنفيذ الأصلي: التخسيس في الشعلة.
يعتمد الرمز على Pytorch-slimming. نضيف دعمًا لـ Resnet و Densenet.
الاقتباس:
@InProceedings{Liu_2017_ICCV,
author = {Liu, Zhuang and Li, Jianguo and Shen, Zhiqiang and Huang, Gao and Yan, Shoumeng and Zhang, Changshui},
title = {Learning Efficient Convolutional Networks Through Network Slimming},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {Oct},
year = {2017}
}
Torch V0.3.1 ، Torchvision V0.2.0
نقدم طبقة channel selection للمساعدة في تقليم Resnet و Densenet. هذه الطبقة سهلة التنفيذ. يقوم بتخزين indexes المعلمة التي تتم تهيئتها إلى متجه All-1. أثناء التقليم ، سيتم تعيين بعض الأماكن على 0 والتي تتوافق مع القنوات المشقوقة.
تحدد وسيطة dataset مجموعة البيانات التي يجب استخدامها: cifar10 أو cifar100 . تحدد الوسيطة arch الهندسة المعمارية لاستخدامها: vgg أو resnet أو densenet . يتم اختيار العمق ليكون هو نفسه الشبكات المستخدمة في الورقة.
python main.py --dataset cifar10 --arch vgg --depth 19
python main.py --dataset cifar10 --arch resnet --depth 164
python main.py --dataset cifar10 --arch densenet --depth 40python main.py -sr --s 0.0001 --dataset cifar10 --arch vgg --depth 19
python main.py -sr --s 0.00001 --dataset cifar10 --arch resnet --depth 164
python main.py -sr --s 0.00001 --dataset cifar10 --arch densenet --depth 40python vggprune.py --dataset cifar10 --depth 19 --percent 0.7 --model [PATH TO THE MODEL] --save [DIRECTORY TO STORE RESULT]
python resprune.py --dataset cifar10 --depth 164 --percent 0.4 --model [PATH TO THE MODEL] --save [DIRECTORY TO STORE RESULT]
python denseprune.py --dataset cifar10 --depth 40 --percent 0.4 --model [PATH TO THE MODEL] --save [DIRECTORY TO STORE RESULT] سيتم تسمية النموذج المشوش pruned.pth.tar .
python main.py --refine [PATH TO THE PRUNED MODEL] --dataset cifar10 --arch vgg --depth 19 --epochs 160النتائج قريبة إلى حد ما من الورقة الأصلية ، التي تنتج نتائجها بواسطة Torch. لاحظ أنه بسبب البذور العشوائية المختلفة ، قد يكون هناك ما يصل إلى 0.5 ٪/1.5 ٪ تقلب على مجموعات بيانات CIFAR-10/100 في أشواط مختلفة ، وفقًا لتجاربنا.
| CIFAR10-VGG | خط الأساس | sparsity (1E-4) | تقليم (70 ٪) | وصول فائق 160 (70 ٪) |
|---|---|---|---|---|
| دقة Top1 (٪) | 93.77 | 93.30 | 32.54 | 93.78 |
| حدود | 20.04m | 20.04m | 2.25m | 2.25m |
| CIFAR10-RESNET-164 | خط الأساس | sparsity (1E-5) | تقليم (40 ٪) | وصول فاخر 160 (40 ٪) | تقليم (60 ٪) | وصول فائق 160 (60 ٪) |
|---|---|---|---|---|---|---|
| دقة Top1 (٪) | 94.75 | 94.76 | 94.58 | 95.05 | 47.73 | 93.81 |
| حدود | 1.71m | 1.73m | 1.45m | 1.45m | 1.12m | 1.12m |
| CIFAR10-DENSENET-40 | خط الأساس | sparsity (1E-5) | تقليم (40 ٪) | وصول فاخر 160 (40 ٪) | تقليم (60 ٪) | وصول فائق 160 (60 ٪) |
|---|---|---|---|---|---|---|
| دقة Top1 (٪) | 94.11 | 94.17 | 94.16 | 94.32 | 89.46 | 94.22 |
| حدود | 1.07m | 1.07m | 0.69m | 0.69m | 0.49m | 0.49m |
| CIFAR100-VGG | خط الأساس | sparsity (1E-4) | تقليم (50 ٪) | وصول فائق 160 (50 ٪) |
|---|---|---|---|---|
| دقة Top1 (٪) | 72.12 | 72.05 | 5.31 | 73.32 |
| حدود | 20.04m | 20.04m | 4.93m | 4.93m |
| CIFAR100-RESNET-164 | خط الأساس | sparsity (1E-5) | تقليم (40 ٪) | وصول فاخر 160 (40 ٪) | تقليم (60 ٪) | وصول فائق 160 (60 ٪) |
|---|---|---|---|---|---|---|
| دقة Top1 (٪) | 76.79 | 76.87 | 48.0 | 77.36 | --- | --- |
| حدود | 1.73m | 1.73m | 1.49m | 1.49m | --- | --- |
ملاحظة: بالنسبة لنتائج تقليم 60 ٪ من القنوات الخاصة بـ ResNet164-CIFAR100 ، في هذا التنفيذ ، في بعض الأحيان يتم تشذيب بعض الطبقات وستكون هناك خطأ. ومع ذلك ، فإننا نقدم أيضًا تطبيق قناع حيث نطبق قناعًا على عامل التحجيم في طبقة BN. لتنفيذ Mask ، عند تقليم 60 ٪ من القنوات في RESNET164-CIFAR100 ، يمكننا أيضًا تدريب الشبكة المشقوقة.
| CIFAR100-DENSENET-40 | خط الأساس | sparsity (1E-5) | تقليم (40 ٪) | وصول فاخر 160 (40 ٪) | تقليم (60 ٪) | وصول فائق 160 (60 ٪) |
|---|---|---|---|---|---|---|
| دقة Top1 (٪) | 73.27 | 73.29 | 67.67 | 73.76 | 19.18 | 73.19 |
| حدود | 1.10m | 1.10m | 0.71m | 0.71m | 0.50m | 0.50m |
SUNMJ15 في gmail.com liuzhuangthu في gmail.com