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

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

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

إذا كنت من مستخدمي ML Kit حاليًا باستخدام AutoML Vision Edge API، يُرجى اتّبِع تعليمات نقل البيانات لنظامَي التشغيل Android وiOS.

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

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

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

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

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

دليل نقل البيانات لنظام التشغيل 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()

جديد

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();

جديد

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)

جديد

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

جديد

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