نماذج مخصّصة باستخدام حزمة تعلُّم الآلة

بشكل تلقائي، تستفيد واجهات برمجة التطبيقات في أدوات تعلّم الآلة من نماذج تعلُّم الآلة المدربة من Google. تم تصميم هذه النماذج لتغطية مجموعة واسعة من التطبيقات. ومع ذلك، تتطلب بعض حالات الاستخدام نماذج أكثر استهدافًا. لهذا السبب، تتيح لك بعض واجهات برمجة تطبيقات حزمة تعلّم الآلة الآن استبدال النماذج التلقائية بنماذج TensorFlow Lite المخصّصة.

يقدّم كلّ من تصنيف الصور وواجهة برمجة التطبيقات اكتشاف العناصر وتتبعها دعمًا لنماذج تصنيف الصور المخصّصة. تتوافق هذه النماذج مع اختيار نماذج عالية الجودة مدرّبة مسبقًا على TensorFlow Hub أو نموذجك المخصّص الذي تم تدريبه باستخدام TensorFlow أو AutoML Vision Edge أو TensorFlow Lite.

إذا كنت بحاجة إلى حل مخصَّص لنطاقات أو حالات استخدام أخرى، يُرجى زيارة صفحة تعلُّم الآلة على الجهاز فقط للحصول على إرشادات حول جميع حلول Google وأدواتها الخاصة بتعلُّم الآلة على الجهاز فقط.

مزايا استخدام حزمة تعلّم الآلة مع النماذج المخصّصة

في ما يلي مزايا استخدام نموذج تصنيف مخصّص للصور من خلال أدوات تعلُّم الآلة:

  • واجهات برمجة التطبيقات (API) عالية المستوى والسهلة الاستخدام: لا حاجة إلى التعامل مع النماذج المنخفضة المستوى في الإدخال/الإخراج، أو التعامل مع عمليات ما قبل/بعد المعالجة للصور أو إنشاء مسار للمعالجة.
  • لا داعي للقلق بشأن ربط التصنيفات بنفسك، لأنّ أداة تعلّم الآلة تستخرج التصنيفات من البيانات الوصفية لنموذج TFLite وتنفّذ عملية الربط نيابةً عنك.
  • إتاحة النماذج المخصّصة من مجموعة كبيرة من المصادر، بدءًا من النماذج المدرّبة مسبقًا والمنشورة على TensorFlow Hub ووصولاً إلى النماذج الجديدة التي تم تدريبها باستخدام TensorFlow أو AutoML Vision Edge أو TensorFlow Lite Model.
  • يتوافق مع النماذج المستضافة في Firebase. يعمل على تقليل حجم APK من خلال تنزيل النماذج عند الطلب. يمكنك نشر تحديثات النموذج بدون إعادة نشر تطبيقك وإجراء اختبارات A/B سهلة باستخدام ميزة "الإعداد عن بُعد في Firebase".
  • خدمة محسَّنة للتكامل مع واجهات برمجة تطبيقات الكاميرا في نظام التشغيل Android

لا سيما لرصد العناصر وتتبّعها:

  • تحسين دقة التصنيف من خلال تحديد موقع الكائنات أولاً وتشغيل المصنِّف فقط في منطقة الصورة ذات الصلة
  • توفير تجربة تفاعلية في الوقت الفعلي من خلال تقديم ملاحظات فورية للمستخدمين حول العناصر عند رصدها وتصنيفها

استخدام نموذج تصنيف صور مدرّب مسبقًا

يمكنك استخدام نماذج TensorFlow Lite المدرّبة مسبقًا، بشرط أن تستوفي مجموعة من المعايير. نقدم من خلال TensorFlow Hub مجموعة من النماذج التي تم فحصها - من Google أو غيرها من صنّاع النماذج - التي تلبي هذه المعايير.

استخدام نموذج منشور على TensorFlow Hub

يوفّر TensorFlow Hub مجموعة كبيرة من نماذج تصنيف الصور المدرّبة مسبقًا والتي يمكن استخدامها مع واجهات برمجة التطبيقات لتصنيف الصور ورصد الكائنات وتتبّعها. اتَّبِع الخطوات التالية:

  1. اختَر نموذجًا من مجموعة النماذج المتوافقة مع أدوات تعلُّم الآلة.
  2. نزِّل ملف نموذج .tflite من صفحة تفاصيل النموذج. حيثما أمكن، اختر تنسيق النموذج مع بيانات التعريف.
  3. اتَّبِع دلائلنا حول Image labeling API أو Object Detection and Tracking API حول كيفية تجميع ملف نموذج مع مشروعك واستخدامه في تطبيق Android أو iOS.

تدريب نموذج تصنيف الصور الخاص بك

إذا لم يتناسب أي نموذج لتصنيف الصور المدرَّب مسبقًا مع احتياجاتك، هناك طرق مختلفة لتدريب نموذج TensorFlow Lite، وسنحدّد بعض هذه الطرق وناقشها بمزيد من التفصيل أدناه.

خيارات تدريب نموذج تصنيف الصور الخاص بك
AutoML Vision Edge
  • مُقدَّم من خلال Google Cloud AI
  • إنشاء نماذج حديثة لتصنيف الصور
  • قارِن بسهولة بين الأداء والحجم.
مصمم نماذج TensorFlow Lite
  • إعادة تدريب أحد النماذج (نقل التعلّم)، تستغرق وقتًا أقل وتتطلب بيانات أقل من تدريب النموذج من البداية.
تحويل نموذج TensorFlow إلى TensorFlow Lite
  • يمكنك تدريب نموذج باستخدام TensorFlow ثم تحويله إلى TensorFlow Lite.

AutoML Vision Edge

تتوافق نماذج تصنيف الصور التي تم تدريبها باستخدام AutoML Vision Edge على النماذج المخصّصة في واجهات برمجة التطبيقات لتصنيفات الصور ورصد العناصر وتتبعها. وتتيح واجهات برمجة التطبيقات هذه أيضًا تنزيل النماذج التي تتم استضافتها من خلال نشر نموذج Firebase.

للاطّلاع على مزيد من المعلومات حول كيفية استخدام نموذج تم تدريبه باستخدام AutoML Vision Edge في تطبيقات Android وiOS، اتّبِع أدلة النماذج المخصّصة لكل واجهة برمجة تطبيقات بناءً على حالة الاستخدام.

برنامج TensorFlow Lite للنماذج

إنّ مكتبة TFLite Model Maker تبسّط عملية تكييف نموذج الشبكة العصبونية TensorFlow وتحويله إلى بيانات إدخال معيّنة عند نشر هذا النموذج لتطبيقات تعلُّم الآلة على الجهاز. يمكنك متابعة Colab لتصنيف الصور باستخدام أداة TensorFlow Lite النموذجية.

للاطّلاع على مزيد من المعلومات حول كيفية استخدام نموذج تم تدريبه باستخدام "أداة تطوير النماذج" في تطبيقات Android وiOS، اتّبِع أدلة Image Titleing API أو واجهة برمجة التطبيقات الخاصة برصد الكائنات وتتبّعها، حسب حالة الاستخدام.

النماذج التي تم إنشاؤها باستخدام محوّل TensorFlow Lite

إذا كان لديك نموذج حالي لتصنيف الصور TensorFlow، يمكنك تحويله باستخدام محوّل TensorFlow Lite. يُرجى التأكّد من أنّ النموذج الذي تم إنشاؤه يستوفي متطلبات التوافق الواردة أدناه.

للاطّلاع على مزيد من المعلومات حول طريقة استخدام نموذج TensorFlow Lite في تطبيقات Android وiOS، يمكنك اتّباع أدلة Image Titleing API أو واجهة برمجة التطبيقات الخاصة برصد الكائنات وتتبّعها، حسب حالة الاستخدام.

التوافق مع نموذج TensorFlow Lite

يمكنك استخدام أي نموذج تصنيف صور TensorFlow Lite مُدرَّب مسبقًا بشرط أن يستوفي المتطلبات التالية:

موتّرات

  • يجب أن يحتوي النموذج على متّحد إدخال واحد فقط وفقًا للقيود التالية:
    • وتكون البيانات بتنسيق RGB pixel.
    • نوع البيانات UINT8 أو FLOAT32. إذا كان نوع شد الإدخال هو FLOAT32، يجب أن يحدّد تسويةOptions من خلال إرفاق البيانات الوصفية.
    • ويكون لمربّع العرض 4 أبعاد، وهي BxHxWxC، حيث:
      • B هو حجم الدفعة. يجب أن تكون القيمة 1 (الاستنتاج على الدفعات الأكبر غير متاح).
      • W وH هما عرض وارتفاع الإدخال.
      • C هو عدد القنوات المتوقعة. يجب أن تكون 3.
  • يجب أن يحتوي النموذج على موصّل واحد على الأقل بفئة N وإما أبعادان أو 4 أبعاد:
    • (1xN)
    • (1x1x1xN)
  • لا يتوفّر في الوقت الحالي سوى النماذج أحادية الرأس. قد تنتج عن النماذج متعددة الرؤوس نتائج غير متوقعة.

البيانات الوصفية

يمكنك إضافة بيانات وصفية إلى ملف TensorFlow Lite كما هو موضَّح في مقالة إضافة بيانات وصفية إلى نموذج TensorFlow Lite.

لاستخدام نموذج يتضمّن منظّم إدخال FLOAT32، عليك تحديد NormalizationOptions في البيانات الوصفية.

ننصحك أيضًا بإرفاق البيانات الوصفية هذه بمنظّم الإخراج TensorMetadata:

  • خريطة تصنيف تحدِّد اسم كل فئة نتائج، على أنّها AssociatedFile من النوع TENSOR_AXIS_LABELS (وإلا يمكن عرض فهارس فئات الإخراج الرقمية فقط)
  • حد تلقائي للنتيجة يُعتبَر منخفض للغاية نتائج ثقة لا يمكن عرضها، ويمثل ProcessUnit الذي يحتوي على ScoreThresholdingOptions.