يمكنك تمرير نموذج تصنيف الصور المدرَّب باستخدام AutoML إلى واجهات برمجة التطبيقات الخاصة بالنماذج المخصّصة. يمكنك مواصلة تضمين النموذج في تطبيقك أو استضافته على وحدة تحكّم Firebase كنموذج مخصّص. تمت إزالة واجهة برمجة التطبيقات الخاصة بتصنيف الصور في AutoML من حزمة تعلّم الآلة لأنّها استُبدلت بالكامل بواجهة برمجة التطبيقات الخاصة بتصنيف الصور في النموذج المخصّص.
| واجهة برمجة التطبيقات | ما الذي سيتغيّر؟ |
|---|---|
| واجهة برمجة التطبيقات لتصنيف الصور في AutoML Vision Edge | تم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model image labeling API. تمت إزالة واجهة برمجة التطبيقات الحالية لتصنيف الصور في AutoML Vision Edge. |
في حال استخدام واجهة برمجة التطبيقات AutoML Vision Edge، اتّبِع تعليمات نقل البيانات لنظامَي التشغيل Android وiOS.
الأسئلة الشائعة
ما هي أسباب هذا التغيير؟
تساعد هذه الميزة في تبسيط واجهات برمجة التطبيقات في حزمة تعلّم الآلة وتسهيل دمجها في تطبيقك. وبفضل هذا التغيير، يمكنك استخدام نموذج تم تدريبه باستخدام AutoML بالطريقة نفسها التي تستخدم بها نموذجًا مخصّصًا. تتيح لك أيضًا استخدام نماذج تم تدريبها باستخدام AutoML في ميزة "رصد العناصر وتتبُّعها"، بالإضافة إلى ميزة "تصنيف الصور" التي نوفّرها. بالإضافة إلى ذلك، تتيح واجهة برمجة التطبيقات الخاصة بالنماذج المخصّصة استخدام النماذج التي تتضمّن خريطة تصنيف مضمّنة في بياناتها الوصفية، والنماذج التي تتضمّن ملفات بيان وتصنيف منفصلة.
ما هي المزايا التي أحصل عليها من نقل البيانات إلى حزمة SDK الجديدة؟
- الميزات الجديدة: إمكانية استخدام نماذج تم تدريبها باستخدام AutoML لكلّ من "تصنيف الصور" و"رصد وتتبُّع العناصر"، وإمكانية استخدام نماذج تتضمّن خريطة تصنيف مضمّنة في بياناتها الوصفية.
دليل نقل البيانات على Android
الخطوة 1: تعديل عمليات استيراد Gradle
عدِّل العناصر التابعة لمكتبات حزمة تعلّم الآلة على Android في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (عادةً app/build.gradle.kts) وفقًا للجدول التالي:
| الميزة | العناصر القديمة | عنصر جديد |
|---|---|---|
| تصنيف الصور باستخدام 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 لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها باستخدام LocalModel. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage]. |
الخطوة 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.LocalModel يجب أن يتضمّن تطبيقك منطقًا لتنزيل النماذج المستضافة عن بُعد وإعدادها باستخدام LocalModel. |
| com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions | com.google.mlkit.vision.label.custom.CustomImageLabelerOptions |
الخطوة 3: تعديل أسماء الطرق
تتضمّن هذه العملية تغييرات بسيطة على الرمز:
- يمكن الآن تهيئة
LocalModelباستخدام مسار نموذج (إذا كان النموذج يتضمّن بيانات وصفية تحتوي على خريطة التصنيفات) أو مسار بيان نموذج (إذا كان البيان والنموذج والتصنيفات في ملفات منفصلة). - أضِف منطقًا إلى تطبيقك لتنزيل النماذج المستضافة عن بُعد إلى مساحة التخزين المحلية وتحميلها باستخدام
LocalModel.
في ما يلي بعض الأمثلة على طرق Kotlin القديمة والجديدة:
الإصدار القديم
val localModel = AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute 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()
جديد
// Similar process for both local and remotely-hosted models (that have been downloaded) val localModel = LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build() val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build()
في ما يلي بعض الأمثلة على طرق Java القديمة والجديدة:
الإصدار القديم
AutoMLImageLabelerLocalModel localModel = new AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute 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();
جديد
// Similar process for local models and remotely-hosted models (that have been downloaded) LocalModel localModel = new LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build(); CustomImageLabelerOptions optionsWithLocalModel = new CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build();
دليل نقل البيانات لنظام التشغيل iOS
المتطلبات الأساسية
- يجب توفُّر الإصدار 13.2.1 من Xcode أو إصدار أحدث.
الخطوة 1: تعديل Cocoapods
عدِّل التبعيات الخاصة بـ حزمة تعلّم الآلة لنظام التشغيل iOS في ملف Podfile الخاص بتطبيقك:
| الميزة | أسماء المجموعات القديمة | أسماء الحاويات الجديدة |
|---|---|---|
| تصنيف الصور باستخدام AutoML بدون تنزيل النموذج عن بُعد | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| تصنيف الصور باستخدام AutoML مع تنزيل النموذج عن بُعد |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. لمزيد من التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage]. |
الخطوة 2: تعديل أسماء الصفوف
إذا ظهرت صفّك في هذا الجدول، عليك إجراء التغيير الموضّح:
Swift
| الصف القديم | صف جديد |
|---|---|
| AutoMLImageLabelerLocalModel | LocalModel |
| AutoMLImageLabelerRemoteModel |
LocalModel لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage]. |
| AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
| الصف القديم | صف جديد |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel |
MLKLocalModel لاستضافة النماذج المخصّصة وتنزيلها، عليك نقل نماذجك إلى Cloud Storage وإضافة منطق التنزيل في تطبيقك لتحميلها كنماذج محلية. للاطّلاع على التفاصيل، راجِع [دليل نقل البيانات من Firebase ML إلى Cloud Storage][migrate-storage]. |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
الخطوة 3: تعديل أسماء الطرق
تتضمّن هذه العملية تغييرات بسيطة على الرمز:
- يمكن الآن تهيئة
LocalModelباستخدام مسار نموذج (إذا كان النموذج يتضمّن بيانات وصفية تحتوي على خريطة التصنيفات) أو مسار بيان نموذج (إذا كان البيان والنموذج والتصنيفات في ملفات منفصلة). - أضِف منطقًا إلى تطبيقك لتنزيل النماذج المستضافة عن بُعد إلى مساحة التخزين المحلية وتحميلها باستخدام
LocalModel.
في ما يلي بعض الأمثلة على طرق 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)جديد
// Similar process for local models and remotely-hosted models (that have been downloaded) guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return } let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
في ما يلي بعض الأمثلة على طرق 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];
جديد
// Similar process for local models and remotely-hosted models (that have been downloaded) MLKLocalModel *localModel = [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKCustomImageLabelerOptions *optionsWithLocalModel = [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];