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