يمكنك تمرير نموذج تصنيف صور مدرَّب باستخدام AutoML إلى واجهات برمجة التطبيقات للنماذج المخصّصة. يمكنك مواصلة تجميع النموذج داخل تطبيقك أو استضافته على "وحدة تحكّم Firebase" كنموذج مخصّص. تمت إزالة واجهة برمجة التطبيقات AutoML Image Labeling API من "حزمة تعلّم الآلة" لأنّه تم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model Image Labeling API.
| واجهة برمجة التطبيقات | ما الذي سيتغيّر؟ |
|---|---|
| واجهة برمجة التطبيقات لتصنيف الصور في AutoML Vision Edge | وتم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model image labeling API. تمت إزالة واجهة برمجة التطبيقات الحالية لتصنيف الصور في AutoML Vision Edge. |
إذا كنت تستخدم واجهة برمجة التطبيقات AutoML Vision Edge API، اتّبِع تعليمات نقل البيانات لنظامَي التشغيل 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
عدِّل التبعيات لملفات 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];