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

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

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

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

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

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

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

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

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

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

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

عدِّل الاعتمادات لمكتبات 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

عدِّل الاعتمادات لـ cocoapods في "حزمة تعلّم الآلة" لنظام التشغيل iOS في ملف Podfile لتطبيقك:

الميزةأسماء pods القديمةأسماء pods الجديدة
تصنيف الصور في 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)

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