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

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

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

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

عدِّل التبعيات لملفات Cocoapoapod الخاصة بنظام التشغيل 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)

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

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