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

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

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

إذا كنت تستخدم حاليًا حزمة تعلّم الآلة وتستخدم واجهة برمجة تطبيقات AutoML Vision Edge، يُرجى اتّباع تعليمات نقل البيانات على نظامَي التشغيل Android وiOS.

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

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

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

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

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

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

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

يمكنك تعديل الاعتماديات لمكتبات ML Kit على Android في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً app/build.gradle) وفقًا للجدول التالي:

الميزةالعناصر القديمةعنصر جديد
تصنيف الصور تلقائيًا باستخدام ميزة 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
com.google.mlkit:linkfirebase:17.0.0

الخطوة 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.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

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

تم إدخال تغييرات بسيطة على الرمز:

  • يمكن الآن إعداد LocalModel باستخدام مسار ملف نموذج (إذا كان النموذج يحتوي على بيانات وصفية تحتوي على خريطة التصنيفات) أو مسار ملف بيان النموذج (إذا كان البيان والنموذج والتصنيفات في ملفات منفصلة).
  • يمكنك استضافة نموذج مخصّص عن بُعد عبر "وحدة تحكُّم Firebase" وإعداد CustomRemoteModel باستخدام FirebaseModelSource.

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

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

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file 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()

New

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

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

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

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

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

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file 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();

New

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).build();

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

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

  • يجب توفير Xcode 13.2.1 أو إصدار أحدث.

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

يمكنك تعديل الاعتماديات الخاصة بالاشتراكات التعاونية في حزمة ML Kit على نظام التشغيل iOS في ملف Podfile الخاص بتطبيقك:

الميزةأسماء المجموعات القديمةأسماء المجموعات الجديدة
تصنيف الصور تلقائيًا باستخدام ميزة AutoML بدون تنزيل النموذج عن بُعد GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
تصنيف الصور في ميزة AutoML من خلال تنزيل النموذج عن بُعد GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

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

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

Swift

الدرجة القديمةصف جديد
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

الدرجة القديمةصف جديد
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

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

تم إدخال تغييرات بسيطة على الرمز:

  • يمكن الآن إعداد LocalModel باستخدام مسار ملف نموذج (إذا كان النموذج يحتوي على بيانات وصفية تحتوي على خريطة التصنيفات) أو مسار ملف بيان النموذج (إذا كان البيان والنموذج والتصنيفات في ملفات منفصلة).
  • يمكنك استضافة نموذج مخصّص عن بُعد عبر "وحدة تحكُّم Firebase" وإعداد CustomRemoteModel باستخدام FirebaseModelSource.

في ما يلي بعض الأمثلة على طرق 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)

New

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

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

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

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];

New

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];