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

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

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

إذا كنت تستخدم واجهة برمجة التطبيقات AutoML Vision Edge API، اتّبِع تعليمات نقل البيانات لنظامَي التشغيل 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

عدِّل التبعيات لملفات 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];