يمكنك تمرير نموذج تصنيف الصور الذي تم تدريبه باستخدام "الذكاء الاصطناعي التلقائي" إلى واجهات برمجة التطبيقات الخاصة بالنموذج المخصّص. يمكنك مواصلة تجميع النموذج داخل تطبيقك أو استضافته في وحدة تحكُّم Firebase كنموذج مخصّص. تم إزالة واجهة برمجة التطبيقات AutoML image labeling API من ML Kit لأنّها تم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model Image Labeling API.
واجهة برمجة التطبيقات | التغيير المرتقَب |
---|---|
واجهة برمجة تطبيقات تصنيف الصور في AutoML Vision Edge | وتم استبدالها بالكامل بواجهة برمجة التطبيقات Custom Model image labeling API. حالية تمت إزالة واجهة برمجة التطبيقات لتصنيف الصور AutoML Vision Edge. |
إذا كنت من مستخدمي ML Kit حاليًا باستخدام AutoML Vision Edge API، يُرجى اتّبِع تعليمات نقل البيانات لنظامَي التشغيل Android وiOS.
الأسئلة الشائعة
ما هي أسباب هذا التغيير؟
ويساعد هذا التغيير في تبسيط واجهات برمجة تطبيقات ML Kit وتسهيل دمج ML Kit في تطبيقك. وبفضل هذا التغيير، يمكنك استخدام نموذج تم تدريبه باستخدام AutoML بالطريقة نفسها تمامًا التي تستخدمها مع النموذج المخصّص. ويتيح لك أيضًا استخدام النماذج المدربة باستخدام "تعلُّم الآلة التلقائي" لرصد الأجسام وتتبُّعها، بالإضافة إلى ميزة "تصنيف الصور" التي لدينا حاليًا. بالإضافة إلى ذلك، تتيح واجهة برمجة التطبيقات للنموذج المخصّص كلاً من النماذج التي تحتوي على ملف ملف ملف تعيين التصنيفات مضمّن في البيانات الوصفية، والنماذج التي تحتوي على ملف بيان منفصل وملف تصنيفات.
ما هي المزايا التي أحصل عليها من نقل البيانات إلى حزمة SDK الجديدة؟
- الميزات الجديدة: القدرة على استخدام النماذج المُدرَّبة على AutoML لكل من تصنيف الصور واكتشاف الأشياء تتبع النماذج والقدرة على استخدامها مع خريطة التصنيفات المضمنة في بياناتها الوصفية.
دليل نقل البيانات على Android
الخطوة 1: تعديل عمليات استيراد Gradle
تعديل الاعتماديات لمكتبات ML Kit على Android في الوحدة
(على مستوى التطبيق) ملف Gradle (عادةً app/build.gradle
) وفقًا لما يلي:
:
الميزة | العناصر القديمة | عنصر جديد |
---|---|---|
استخدام ميزة "تصنيف الصور" من خلال تكنولوجيات الذكاء الاصطناعي (AI) بدون تنزيل النموذج عن بُعد | 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 الخاص بتطبيقك:
الميزة | أسماء المجموعات القديمة | أسماء مجموعات البودكاست الجديدة |
---|---|---|
تصنيف الصور تلقائيًا باستخدام ميزة 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];