لتدريب نموذج لتصنيف الصور، عليك تزويد AutoML Vision Edge بمجموعة من الصور والتصنيفات المقابلة. تستخدم AutoML Vision Edge مجموعة البيانات هذه لتدريب نموذج جديد على السحابة الإلكترونية، ويمكنك استخدام هذا النموذج لتصنيف الصور على الجهاز في تطبيقك. (راجِع نظرة عامة للحصول على معلومات عامة حول هذه الميزة).
AutoML Vision Edge هي خدمة من Google Cloud. يخضع استخدام الخدمة لاتفاقية ترخيص Google Cloud Platform وبنود الخدمة الخاصة، ويتم تحصيل الرسوم وفقًا لذلك. للحصول على معلومات الفوترة، يُرجى الاطّلاع على صفحة الأسعار الخاصة بخدمة AutoML.
قبل البدء
إذا لم يكن لديك مشروع على Firebase أو Google Cloud، أنشئ مشروعًا في وحدة تحكّم Firebase.
ننصحك بالاطّلاع على الإرشادات الواردة في دليل تعزيز الشمولية في تعلُّم الآلة - AutoML.
إذا أردت تجربة AutoML Vision Edge فقط، ولم تكن لديك بيانات تدريب، يمكنك تنزيل مجموعة بيانات نموذجية، مثل إحدى المجموعات التالية:
- مجموعة بيانات نموذجية لصور الزهور الرسمية من TensorFlow
- مجموعة بيانات أبجدية لغة الإشارة الأمريكية (ASL)
يمكنك العثور على المزيد من مجموعات البيانات المستضافة على Kaggle.
1. تجميع بيانات التدريب
أولاً، عليك تجميع مجموعة بيانات تدريبية تتضمّن صورًا مصنَّفة. يُرجى مراعاة الإرشادات التالية:
يجب أن تكون الصور بأحد التنسيقات التالية: JPEG أو PNG أو GIF أو BMP أو ICO.
يجب أن يكون حجم كل صورة 30 ميغابايت أو أقل. يُرجى العِلم أنّ AutoML Vision Edge يقلّل دقة معظم الصور أثناء المعالجة المسبقة، لذا لا يكون توفير صور عالية الدقة جدًا مفيدًا بشكل عام من ناحية الدقة.
أدرِج 10 أمثلة على الأقل، ويُفضّل 100 مثال أو أكثر، لكل تصنيف.
تضمين زوايا ودقّات وخلفيات متعددة لكل تصنيف
يجب أن تكون بيانات التدريب أقرب ما يمكن إلى البيانات التي سيتم استنادًا إليها إجراء التوقعات. على سبيل المثال، إذا كانت حالة الاستخدام تتضمّن صورًا غير واضحة ومنخفضة الدقة (مثل الصور من كاميرا أمان)، يجب أن تتكوّن بيانات التدريب من صور غير واضحة ومنخفضة الدقة.
تم تحسين النماذج التي تم إنشاؤها باستخدام AutoML Vision Edge للصور الفوتوغرافية للأشياء في العالم الحقيقي. وقد لا تكون مناسبة للصور الشعاعية والرسومات اليدوية والمستندات الممسوحة ضوئيًا والإيصالات وما إلى ذلك.
بالإضافة إلى ذلك، لا يمكن للنماذج بشكل عام توقّع التصنيفات التي لا يمكن للبشر تحديدها. لذلك، إذا لم يتمكّن الإنسان من تحديد التصنيفات من خلال النظر إلى الصورة لمدة ثانية أو ثانيتين، من المحتمل ألا يتمكّن النموذج أيضًا من التدريب على ذلك.
عندما تصبح صور التدريب جاهزة، يمكنك إعدادها لاستيرادها إلى Firebase. أمامك ثلاثة خيارات:
الخيار 1: أرشيف zip منظَّم
نظِّم صور التدريب في أدلة، كل دليل يحمل اسم تصنيف ويحتوي على صور تمثّل هذا التصنيف. بعد ذلك، اضغط بنية الدليل في أرشيف zip.
يمكن أن يصل طول أسماء الدليل في أرشيف zip هذا إلى 32 حرفًا من أحرف ASCII
ويمكن أن تحتوي على أحرف أبجدية رقمية وشرطة سفلية (_
) فقط.
على سبيل المثال:
my_training_data.zip |____accordion | |____001.jpg | |____002.jpg | |____003.jpg |____bass_guitar | |____hofner.gif | |____p-bass.png |____clavier |____well-tempered.jpg |____well-tempered (1).jpg |____well-tempered (2).jpg
الخيار 2: Cloud Storage مع فهرس CSV
حمِّل صور التدريب إلى Google Cloud Storage وأعِدّ ملف CSV يتضمّن قائمة بعناوين URL لكل صورة، ويمكنك أيضًا تضمين التصنيفات الصحيحة لكل صورة. يكون هذا الخيار مفيدًا عند استخدام مجموعات بيانات كبيرة جدًا.
على سبيل المثال، حمِّل صورك إلى Cloud Storage، وأعِدّ ملف CSV على النحو التالي:
gs://your-training-data-bucket/001.jpg,accordion gs://your-training-data-bucket/002.jpg,accordion gs://your-training-data-bucket/003.jpg,accordion gs://your-training-data-bucket/hofner.gif,bass_guitar gs://your-training-data-bucket/p-bass.png,bass_guitar gs://your-training-data-bucket/well-tempered.jpg,clavier gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier
يجب تخزين الصور في حزمة مضمّنة في مشروع Google Cloud المرتبط بمشروعك على Firebase.
راجِع إعداد بيانات التدريب في مستندات Cloud AutoML Vision لمزيد من المعلومات حول إعداد ملف CSV.
الخيار 3: صور غير مُصنَّفة
ضع تصنيفًا لصور التدريب في وحدة تحكّم Firebase بعد تحميلها، إما بشكل فردي أو في ملف zip غير منظَّم. راجِع الخطوة التالية.
2- تدريب النموذج
بعد ذلك، درِّب نموذجًا باستخدام صورك:
افتح صفحة مجموعات بيانات Vision في وحدة تحكّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.
انقر على مجموعة بيانات جديدة، وقدِّم اسمًا لمجموعة البيانات، واختَر نوع النموذج الذي تريد تدريبه، ثم انقر على إنشاء مجموعة بيانات.
في علامة التبويب استيراد الخاصة بمجموعة البيانات، حمِّل إما أرشيف zip لصور التدريب أو ملف CSV يحتوي على مواقع Cloud Storage التي حمّلت الصور إليها. يُرجى الاطّلاع على تجميع بيانات التدريب.
بعد اكتمال مهمة الاستيراد، استخدِم علامة التبويب الصور للتحقّق من صحة بيانات التدريب وتصنيف أي صور غير مصنَّفة.
في علامة التبويب التدريب، انقر على بدء التدريب.
أدخِل اسم النموذج واختَر نوع النموذج Edge.
اضبط إعدادات التدريب التالية التي تتحكّم في أداء النموذج الذي تم إنشاؤه:
تحسين النموذج من أجل... إعدادات النموذج المطلوب استخدامها. يمكنك تدريب نماذج أسرع وأصغر حجمًا عندما تكون سرعة الاستجابة المنخفضة أو حجم الحزمة الصغير مهمَّين، أو نماذج أبطأ وأكبر حجمًا عندما تكون الدقة هي الأهم. ميزانية ساعات العُقدة تمثّل هذه السمة الحد الأقصى للوقت الذي يمكن استخدامه في تدريب النموذج، ويتم قياسه بساعات الحوسبة. يؤدي توفير المزيد من وقت التدريب بشكل عام إلى إنشاء نموذج أكثر دقة.
يُرجى العِلم أنّه يمكن إكمال التدريب في أقل من الوقت المحدّد إذا حدّد النظام أنّ النموذج محسّن وأنّ التدريب الإضافي لن يحسّن الدقة. تتم محاسبتك فقط على الساعات المستخدَمة فعليًا.
أوقات التدريب المعتادة مجموعات صغيرة جدًا ساعة واحدة 500 صورة ساعتان 1,000 صورة 3 ساعات 5,000 صورة 6 ساعات 10,000 صورة 7 ساعات 50,000 صورة 11 ساعة 100,000 صورة 13 ساعة 1,000,000 صورة 18 ساعة
3- تقييم النموذج
عند اكتمال التدريب، يمكنك النقر على علامة التبويب تقييم للاطّلاع على مقاييس أداء النموذج.
أحد الاستخدامات المهمة لهذه الصفحة هو تحديد حد الثقة الذي يناسب نموذجك بشكل أفضل. حد الثقة هو الحد الأدنى من الثقة التي يجب أن يتمتّع بها النموذج لكي ينسب تصنيفًا إلى صورة. من خلال تحريك شريط التمرير حدّ الثقة، يمكنك الاطّلاع على كيفية تأثير الحدود المختلفة في أداء النموذج. يتم قياس أداء النموذج باستخدام مقياسَين: الدقة واكتمال التوقعات الإيجابية.
في سياق تصنيف الصور، الدقة هي نسبة عدد الصور التي تم تصنيفها بشكل صحيح إلى عدد الصور التي صنّفها النموذج وفقًا للحدّ المحدّد. عندما يكون النموذج عالي الدقة، يحدّد التصنيفات بشكل غير صحيح بمعدّل أقل (عدد أقل من النتائج الإيجابية الخاطئة).
الاسترجاع هو نسبة عدد الصور التي تم تصنيفها بشكل صحيح إلى عدد الصور التي كان من المفترض أن يتمكّن النموذج من تصنيف محتواها. عندما يكون النموذج ذا معدّل استرجاع مرتفع، لا يمكنه تعيين أي تصنيف بشكل أقل (عدد أقل من السلبيات الخاطئة).
يعتمد تحديد ما إذا كنت ستعمل على تحسين الدقة أو الاسترجاع على حالة الاستخدام. يمكنك الاطّلاع على دليل المبتدئين في AutoML Vision ودليل "التعلم الآلي الشامل" - AutoML لمزيد من المعلومات.
عند العثور على حدّ ثقة يؤدي إلى ظهور مقاييس مناسبة لك، سجِّله لأنّك ستستخدمه في ضبط إعدادات النموذج في تطبيقك. (يمكنك استخدام هذه الأداة في أي وقت للحصول على قيمة حدّ مناسبة).
4. نشر النموذج أو تنزيله
إذا كنت راضيًا عن أداء النموذج وأردت استخدامه في تطبيق، لديك ثلاثة خيارات يمكنك الاختيار من بينها أي مجموعة: نشر النموذج لإجراء التوقعات على الإنترنت، أو نشره على Firebase، أو تنزيل النموذج وتضمينه في تطبيقك.
نشر النموذج
في علامة التبويب الاختبار والاستخدام الخاصة بمجموعة البيانات، يمكنك نشر نموذجك لإجراء عمليات التوقّع على الإنترنت، ما يؤدي إلى تشغيل نموذجك على السحابة الإلكترونية. يتم تناول هذا الخيار في مستندات Cloud AutoML. تتناول المستندات على هذا الموقع الإلكتروني الخيارَين المتبقّيَين.
نشر النموذج
من خلال نشر النموذج على Firebase، يمكنك تعديله بدون إصدار نسخة جديدة من التطبيق، ويمكنك استخدام Remote Config وA/B Testing لعرض نماذج مختلفة بشكل ديناميكي لمجموعات مختلفة من المستخدمين.
إذا اخترت توفير النموذج فقط من خلال استضافته باستخدام Firebase، وعدم تضمينه في حزمة تطبيقك، يمكنك تقليل حجم التنزيل الأولي لتطبيقك. ومع ذلك، تجدر الإشارة إلى أنّه إذا لم يتم تضمين النموذج في حزمة تطبيقك، لن تتوفّر أي وظائف ذات صلة بالنموذج إلى أن ينزّل تطبيقك النموذج للمرة الأولى.
لنشر النموذج، يمكنك استخدام إحدى الطريقتَين التاليتَين:
- نزِّل نموذج TF Lite من صفحة الاختبار والاستخدام في مجموعة البيانات ضمن وحدة تحكّم Google Cloud، ثم حمِّل النموذج في صفحة النموذج المخصّص ضمن وحدة تحكّم Firebase. وهذه الطريقة هي عادةً الأسهل لنشر نموذج واحد.
- انشر النموذج مباشرةً من مشروعك على Google Cloud إلى Firebase باستخدام حزمة Admin SDK. يمكنك استخدام هذه الطريقة لنشر عدة نماذج بشكل مجمّع أو للمساعدة في إنشاء مسارات نشر مبرمَجة.
لنشر النموذج باستخدام واجهة برمجة التطبيقات لإدارة النماذج في حزمة تطوير البرامج (SDK) الخاصة بالمشرف، اتّبِع الخطوات التالية:
انشر النموذج.
عليك تحديد معرّف المورد الخاص بالنموذج، وهو عبارة عن سلسلة تتضمّن المثال التالي:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
رقم مشروع الحزمة Cloud Storage التي تحتوي على النموذج. قد يكون هذا مشروعك على Firebase أو مشروعًا آخر على Google Cloud. يمكنك العثور على هذه القيمة في صفحة "الإعدادات" في وحدة تحكّم Firebase أو لوحة بيانات وحدة تحكّم Google Cloud. MODEL_ID
معرّف النموذج الذي حصلت عليه من AutoML Cloud API Python
# First, import and initialize the SDK. # Get a reference to the AutoML model source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format( # See above for information on these values. project_number, model_id )) # Create the model object tflite_format = ml.TFLiteFormat(model_source=source) model = ml.Model( display_name="example_model", # This is the name you will use from your app to load the model. tags=["examples"], # Optional tags for easier management. model_format=tflite_format) # Add the model to your Firebase project and publish it new_model = ml.create_model(model) new_model.wait_for_unlocked() ml.publish_model(new_model.model_id)
Node.js
// First, import and initialize the SDK. (async () => { // Get a reference to the AutoML model. See above for information on these // values. const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`; // Create the model object and add the model to your Firebase project. const model = await ml.createModel({ displayName: 'example_model', // This is the name you use from your app to load the model. tags: ['examples'], // Optional tags for easier management. tfliteModel: { automlModel: automlModel }, }); // Wait for the model to be ready. await model.waitForUnlocked(); // Publish the model. await ml.publishModel(model.modelId); process.exit(); })().catch(console.error);
تنزيل النموذج وتضمينه في تطبيقك
من خلال تجميع النموذج مع تطبيقك، يمكنك التأكّد من أنّ ميزات تعلُّم الآلة في تطبيقك ستظل تعمل حتى عندما لا يتوفّر النموذج المستضاف على Firebase.
إذا نشرت النموذج وحزمته مع تطبيقك، سيستخدم التطبيق أحدث إصدار متاح.
لتنزيل النموذج، انقر على TF Lite في صفحة الاختبار والاستخدام لمجموعة البيانات.
الخطوات التالية
بعد نشر النموذج أو تنزيله، تعرَّف على كيفية استخدامه في تطبيقات iOS+ وAndroid.