يمكنك تمرير نموذج تصنيف الصور المدرَّب على AutoML إلى واجهات برمجة التطبيقات للنماذج المخصّصة. يمكنك مواصلة دمج النموذج داخل تطبيقك أو استضافته على وحدة تحكُّم Firebase كنموذج مخصّص. تمت إزالة واجهة برمجة تطبيقات وضع تصنيف صور AutoML من حزمة تعلّم الآلة لأنّه تم استبدالها بالكامل بواجهة برمجة تطبيقات تصنيف صور النموذج المخصّص.
API | التغيير المرتقَب |
---|---|
واجهة برمجة تطبيقات تصنيف الصور في AutoML Vision Edge | وقد تم استبدالها بالكامل بواجهة برمجة تطبيقات تصنيف صور النموذج المخصّص. تمت إزالة واجهة برمجة التطبيقات الحالية لتصنيف الصور AutoML Vision Edge. |
إذا كنت تستخدم حاليًا حزمة تعلّم الآلة وتستخدم واجهة برمجة تطبيقات AutoML Vision Edge، يُرجى اتّباع تعليمات نقل البيانات على نظامَي التشغيل 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
يمكنك تعديل الاعتماديات الخاصة بالاشتراكات التعاونية في حزمة 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)
وفي ما يلي بعض الأمثلة على طرق الهدف-ج القديمة والجديدة:
الإصدار القديم
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];