هذا يدل على تقليم مصنف VGG16 الذي يصنف مجموعة بيانات صغيرة للكلب/القط.
كان هذا قادرًا على تقليل وقت تشغيل وحدة المعالجة المركزية بمقدار X3 وحجم النموذج بمقدار X4.
لمزيد من التفاصيل ، يمكنك قراءة منشور المدونة.
في كل خطوة التقليم تتم إزالة المرشحات 512 من الشبكة.
يستخدم هذا المستودع محمل Pytorch ImageFolder ، لذلك يفترض أن الصور في دليل مختلف لكل فئة.
يدرب
......... الكلاب
......... القطط
امتحان
......... الكلاب
......... القطط
تم التقاط الصور من هنا ولكن يجب أن تحاول تدريب هذا على بياناتك ومعرفة ما إذا كانت تعمل!
التدريب: python finetune.py --train
التقليم: python finetune.py --prune
تغيير التقليم ليتم في ممر واحد. حاليًا يتم تقليم كل من المرشحات 512 بشكل متسلسل. for layer_index, filter_index in prune_targets: model = prune_vgg16_conv_layer(model, layer_index, filter_index)
هذا غير فعال لأن تخصيص طبقات جديدة ، وخاصة الطبقات المتصلة بالكامل مع الكثير من المعلمات ، بطيئة.
من حيث المبدأ يمكن القيام بذلك في تمريرة واحدة.
تغيير prune_vgg16_conv_layer لدعم البنى الإضافية. الأكثر إلحاحا سيكون VGG مع قاعدة الدفعة.