لتدريب نموذج تصنيف الصور، عليك تزويد 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 هذا إلى 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- تدريب النموذج
بعد ذلك، يمكنك تدريب نموذج باستخدام صورك:
افتح صفحة مجموعات بيانات الرؤية في وحدة تحكّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.
انقر على مجموعة بيانات جديدة، وأدخِل اسمًا لمجموعة البيانات، واختَر نوع النموذج الذي تريد تدريبه، ثم انقر على إنشاء مجموعة بيانات.
في علامة التبويب استيراد ضمن مجموعة البيانات، حمِّل إما أرشيفًا مضغوطًا من صور التدريب أو ملف 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.