مسارات تثبيت نماذج "حزمة تعلّم الآلة" على نظام التشغيل Android

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

يمكن تثبيت النماذج في واجهات برمجة التطبيقات من حزمة تعلّم الآلة بإحدى الطرق الثلاث التالية:

  1. النماذج غير المضمّنة: يتم تنزيل النماذج وإدارتها من خلال "خدمات Google Play".
  2. النماذج المضمّنة: يتم ربط النماذج بشكل ثابت بتطبيقك في مدّة التصميم.
  3. النماذج التي يتم تنزيلها ديناميكيًا: يتم تنزيل النماذج عند الطلب.

مسارات التثبيت المتوافقة مع كل واجهة برمجة تطبيقات

يوضّح الجدول أدناه مسارات تثبيت النماذج المتوافقة مع كل ميزة من ميزات تعلُّم الآلة من ML Kit:

النماذج غير المضمّنة النماذج المضمّنة النماذج التي يتم تنزيلها ديناميكيًا
التعرّف على النصوص الإصدار 2
رصد الوجوه
رصد شبكة الوجوه
رصد الوضعيات
تقسيم الصور السيلفي
المسح الضوئي للرموز الشريطية
تصنيف الصور
رصد العناصر وتتبُّعها
التعرّف على الحبر الرقمي
الماسح الضوئي للمستندات
تقسيم الصور حسب الموضوع
الماسح الضوئي لرموز Google
تحديد اللغة
الترجمة
رد سريع
استخراج الكيانات

توضّح الأدلة الخاصة بواجهات برمجة التطبيقات خيارات التثبيت المتاحة لواجهة برمجة التطبيقات المعيّنة.

الاختلافات الرئيسية بين خيارات التثبيت

النماذج غير المضمّنة النماذج المضمّنة النماذج التي يتم تنزيلها ديناميكيًا
أين يتم تخزين النماذج؟ يتم تخزينها في "خدمات Google Play" ولا يتم احتسابها ضمن مساحة التخزين المستخدَمة من قِبل هذا التطبيق يتم حفظها في مساحة التخزين الخاصة بالتطبيق بعد التثبيت يتم حفظها في مساحة التخزين الخاصة بالتطبيق بعد تنزيل النموذج
كيف يؤثر حجم النموذج في حجم التطبيق؟ لا يساهم في حجم التطبيق يساهم بشكل مباشر في حجم التطبيق لا يساهم في حجم التطبيق، ولكن يزيد مساحة التخزين الخاصة بالتطبيق
متى يتم تعديل النماذج؟ يتم تعديلها تلقائيًا عند إصدار إصدار أحدث يجب تعديل التطبيق لتعديل النموذج يجب تعديل التطبيق لتعديل النموذج
متى يتم تنزيل النماذج؟ يجب تنزيل النماذج قبل استخدامها يتم تضمين جميع النماذج والميزات عند تثبيت التطبيق، لذا يمكن استخدامها على الفور يجب إدارة عمليات تنزيل النماذج وتعديلها وحذفها يدويًا باستخدام RemoteModelManager API
متى تتم إزالة النماذج من الجهاز؟ لن تزيل "خدمات Google Play" النموذج من مساحة التخزين إلا إذا تم إلغاء تثبيت جميع التطبيقات التي تعتمد على النموذج تتم إزالة النماذج من مساحة التخزين الخاصة بالتطبيق عند إلغاء تثبيت التطبيق تتم إزالة النماذج التي تم تنزيلها من مساحة التخزين الخاصة بالتطبيق عند إلغاء تثبيت التطبيق

كيفية الاختيار بين النماذج المضمّنة وغير المضمّنة

إذا كانت واجهة برمجة التطبيقات تتيح خيارَي تثبيت النماذج المضمّنة وغير المضمّنة:

  • استخدِم خيار النماذج المضمّنة إذا كنت تعطي الأولوية لما يلي:

    • وظائف الميزة الكاملة فور تثبيت التطبيق
    • وظائف الميزة بدون الاتصال بالشبكة بعد تثبيت التطبيق
  • استخدِم خيار النماذج غير المضمّنة إذا كنت تعطي الأولوية لما يلي:

    • حجم التطبيق الأصغر
    • عمليات تعديل النماذج التلقائية من خلال "خدمات Google Play"

كيفية تنزيل النماذج

عند استخدام خيار النماذج غير المضمّنة، يمكنك تحديد كيفية تنزيل النماذج على الجهاز:

  • يمكنك تفعيل عمليات تنزيل النماذج أثناء التثبيت من خلال إضافة بيان إلى ملف AndroidManifest.xml الخاص بتطبيقك. على سبيل المثال، يوضّح مقتطف الرمز أدناه كيفية ضبط تطبيقك لتنزيل نموذج "المسح الضوئي للرموز الشريطية" تلقائيًا بعد تثبيت تطبيقك من "متجر Play":

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • يمكنك طلب التنزيل الصريح من خلال Google Play Services ModuleInstallClient API.

  • إذا لم تفعِّل عمليات تنزيل النماذج أثناء التثبيت أو لم تطلب التنزيل الصريح، سيتم تنزيل النموذج في المرة الأولى التي تشغّل فيها الميزة. إلى أن يكتمل التنزيل، ستفشل طلبات الاستنتاج.

كيفية تعديل النماذج

لتعديل نماذجك عند استخدام خيار النماذج المضمّنة أو النماذج التي يتم تنزيلها ديناميكيًا:

  1. عدِّل ملف gradle الخاص بتطبيقك لاستخدام أحدث مكتبة عميل لميزة تعلُّم الآلة من ML Kit.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. أعِد إنشاء تطبيقك.

سبب توفير بعض واجهات برمجة التطبيقات للنماذج التي يتم تنزيلها ديناميكيًا

تحتوي بعض واجهات برمجة التطبيقات من حزمة تعلّم الآلة على خيارات نماذج كثيرة جدًا بحيث لا يمكن تضمينها. على سبيل المثال، تتيح ميزة التعرّف على الحبر الرقمي استخدام أكثر من 300 لغة، وليس من الضروري دائمًا وضع كل لغة داخل الميزة أثناء التثبيت. لهذا الغرض، نوفّر خيار التثبيت الثالث الذي يتم فيه تنزيل النماذج عند الطلب بعد التثبيت. في الوقت الحالي، لا يتوفّر هذا الخيار إلا في ميزات "التعرّف على الحبر الرقمي " و"الترجمة" و"استخراج الكيانات".