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

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

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

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

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

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

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

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

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

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

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

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

الميزةالعناصر القديمةعنصر جديد
ميزة "تصنيف الصور" من "تعلُّم الآلة التلقائي" بدون تنزيل النموذج عن بُعد com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
ميزة "تصنيف الصور" من "تعلُّم الآلة التلقائي" مع تنزيل النموذج عن بُعد 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

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

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

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

عدِّل التبعيات لمجموعة ML Kit iOS cocoapods في ملف Podfile الخاص بتطبيقك:

الميزةأسماء المجموعات القديمةأسماء مجموعات التطبيقات الجديدة
ميزة "تصنيف الصور" من "تعلُّم الآلة التلقائي" بدون تنزيل النموذج عن بُعد GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
ميزة "تصنيف الصور" من "تعلُّم الآلة التلقائي" مع تنزيل النموذج عن بُعد 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)

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

جديد

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