ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تجميع الوزن

يتم صيانته بواسطة Arm ML Tooling

يقدم هذا المستند نظرة عامة على تجميع الوزن لمساعدتك في تحديد مدى ملاءمته لحالة الاستخدام الخاصة بك.

نظرة عامة

التجميع ، أو تقاسم الوزن ، يقلل من عدد قيم الوزن الفريدة في النموذج ، مما يؤدي إلى فوائد للنشر. يقوم أولاً بتجميع أوزان كل طبقة في مجموعات N ، ثم يشارك قيمة النقطه الوسطى للعنقدة لجميع الأوزان التي تنتمي إلى الكتلة.

تجلب هذه التقنية تحسينات عبر ضغط النموذج. يمكن أن يفتح دعم إطار العمل المستقبلي تحسينات بصمة الذاكرة التي يمكن أن تحدث فرقًا حاسمًا لنشر نماذج التعلم العميق على الأنظمة المضمنة ذات الموارد المحدودة.

لقد جربنا التجميع عبر مهام الرؤية والكلام. لقد رأينا ما يصل إلى 5x تحسينات في ضغط النموذج مع الحد الأدنى من فقدان الدقة ، كما هو موضح في النتائج المعروضة أدناه.

يرجى ملاحظة أن التجميع سيوفر فوائد منخفضة للالتفاف والطبقات الكثيفة التي تسبق طبقة تطبيع الدُفعات ، وكذلك بالاقتران مع تكميم ما بعد التدريب لكل محور.

مصفوفة توافق API

يمكن للمستخدمين تطبيق المجموعات باستخدام واجهات برمجة التطبيقات التالية:

  • بناء النموذج: tf.keras مع النماذج المتسلسلة tf.keras فقط
  • إصدارات TensorFlow: TF 1.x للإصدارات 1.14+ و 2.x.
    • tf.compat.v1 TF 2.X و tf.compat.v2 مع حزمة TF tf.compat.v2
  • وضع تنفيذ TensorFlow: الرسم البياني والشغوف

النتائج

تصنيف الصورة

نموذج أصلي عنقودية
دقة أعلى 1 (٪) حجم الملف المضغوط .tflite (ميغا بايت) ترتيب # من المجموعات دقة أعلى 1 (٪) حجم الملف المضغوط .tflite (ميغا بايت)
MobileNetV1 71.02 14.96
انتقائي (آخر 3 طبقات ثنائية الأبعاد) 256 ، 256 ، 32 70.62 8.42
كامل (جميع طبقات Conv2D) 64 66.07 2.98
MobileNetV2 72.29 12.90
انتقائي (آخر 3 طبقات Conv2D) 256 ، 256 ، 32 72.31 7.00
كامل (جميع طبقات Conv2D) 32 69.33 2.60

تم تدريب النماذج واختبارها على ImageNet.

اكتشاف الكلمات الرئيسية

نموذج أصلي عنقودية
دقة أعلى 1 (٪) حجم الملف المضغوط .tflite (ميغا بايت) ترتيب # من المجموعات دقة أعلى 1 (٪) حجم الملف المضغوط .tflite (ميغا بايت)
DS-CNN-L 95.03 1.5 ممتلئ 32 94.71 0.3

تم تدريب النماذج واختبارها على SpeechCommands v0.02.

  1. تسلسل نموذج Keras في ملف h5
  2. قم بتحويل ملف .h5 إلى .tflite باستخدام TFLiteConverter.from_keras_model_file()
  3. ضغط ملف .tflite في ملف مضغوط

أمثلة

بالإضافة إلى تجميع الوزن في مثال Keras ، راجع الأمثلة التالية:

  • قم بتجميع أوزان نموذج CNN المدربة على مجموعة بيانات تصنيف الأرقام المكتوبة بخط اليد MNIST: الكود

يعتمد تطبيق تجميع الوزن على الضغط العميق: ضغط الشبكات العصبية العميقة باستخدام ورق التقليم ، والكمية المدربة ، وورق ترميز هوفمان . انظر الفصل 3 ، بعنوان القياس الكمي وتقاسم الوزن .