دليل نقل البيانات الخاصة بـ ML Kit AutoML Vision Edge

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

واجهة برمجة التطبيقاتما الذي سيتغيّر؟
واجهة برمجة التطبيقات لتصنيف الصور في AutoML Vision Edge تم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model image labeling API. تمت إزالة واجهة برمجة التطبيقات الحالية لتصنيف الصور في AutoML Vision Edge.

في حال استخدام واجهة برمجة التطبيقات AutoML Vision Edge، اتّبِع تعليمات نقل البيانات لنظامَي التشغيل Android وiOS.

الأسئلة الشائعة

ما هي أسباب هذا التغيير؟

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

ما هي المزايا التي أحصل عليها من نقل البيانات إلى حزمة SDK الجديدة؟

  • الميزات الجديدة: إمكانية استخدام نماذج تم تدريبها باستخدام AutoML لكلّ من "تصنيف الصور" و"رصد وتتبُّع العناصر"، وإمكانية استخدام نماذج تتضمّن خريطة تصنيف مضمّنة في بياناتها الوصفية.

دليل نقل البيانات على Android

الخطوة 1: تعديل عمليات استيراد Gradle

عدِّل العناصر التابعة لمكتبات حزمة تعلّم الآلة على Android في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (عادةً app/build.gradle.kts) وفقًا للجدول التالي:

الميزةالعناصر القديمةعنصر جديد
تصنيف الصور باستخدام AutoML بدون تنزيل النموذج عن بُعد com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
تصنيف الصور باستخدام AutoML مع تنزيل النموذج عن بُعد com.google.mlkit:image-labeling-automl:16.2.1
com.google.mlkit:linkfirebase:16.0.1
com.google.mlkit:image-labeling-custom:16.0.0-beta5
لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها باستخدام LocalModel. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage].

الخطوة 2: تعديل أسماء الصفوف

إذا ظهرت صفّك في هذا الجدول، عليك إجراء التغيير الموضّح:

الصف القديمصف جديد
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel com.google.mlkit.common.model.LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel com.google.mlkit.common.model.LocalModel
يجب أن يتضمّن تطبيقك منطقًا لتنزيل النماذج المستضافة عن بُعد وإعدادها باستخدام LocalModel.
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

الخطوة 3: تعديل أسماء الطرق

تتضمّن هذه العملية تغييرات بسيطة على الرمز:

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

في ما يلي بعض الأمثلة على طرق Kotlin القديمة والجديدة:

الإصدار القديم

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model")
    .build()

val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel)
    .build()

جديد

// Similar process for both local and remotely-hosted models (that have been downloaded)
val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

في ما يلي بعض الأمثلة على طرق Java القديمة والجديدة:

الإصدار القديم

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute path to manifest file)
        .build();
AutoMLImageLabelerOptions optionsWithLocalModel =
    new AutoMLImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
AutoMLImageLabelerRemoteModel remoteModel =
    new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build();
AutoMLImageLabelerOptions optionsWithRemoteModel =
    new AutoMLImageLabelerOptions.Builder(remoteModel)
        .build();

جديد

// Similar process for local models and remotely-hosted models (that have been downloaded)
LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute path to manifest file)
        .build();
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();

دليل نقل البيانات لنظام التشغيل iOS

المتطلبات الأساسية

  • يجب توفُّر الإصدار 13.2.1 من Xcode أو إصدار أحدث.

الخطوة 1: تعديل Cocoapods

عدِّل التبعيات الخاصة بـ حزمة تعلّم الآلة لنظام التشغيل iOS في ملف Podfile الخاص بتطبيقك:

الميزةأسماء المجموعات القديمةأسماء الحاويات الجديدة
تصنيف الصور باستخدام AutoML بدون تنزيل النموذج عن بُعد GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
تصنيف الصور باستخدام AutoML مع تنزيل النموذج عن بُعد GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
‫GoogleMLKit/ImageLabelingCustom
لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. لمزيد من التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage].

الخطوة 2: تعديل أسماء الصفوف

إذا ظهرت صفّك في هذا الجدول، عليك إجراء التغيير الموضّح:

Swift

الصف القديمصف جديد
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel LocalModel
لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage].
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

الصف القديمصف جديد
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKLocalModel
لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage].
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

الخطوة 3: تعديل أسماء الطرق

تتضمّن هذه العملية تغييرات بسيطة على الرمز:

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

في ما يلي بعض الأمثلة على طرق Swift القديمة والجديدة:

الإصدار القديم

let localModel =
    AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)

جديد

// Similar process for local models and remotely-hosted models (that have been downloaded)
guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)

في ما يلي بعض الأمثلة على طرق Objective-C القديمة والجديدة:

الإصدار القديم

MLKAutoMLImageLabelerLocalModel *localModel =
    [[MLKAutoMLImageLabelerLocalModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithLocalModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKAutoMLImageLabelerRemoteModel *remoteModel =
    [[MLKAutoMLImageLabelerRemoteModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithRemoteModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];

جديد

// Similar process for local models and remotely-hosted models (that have been downloaded)
MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];