لتدريب نموذج تسمية الصورة ، يمكنك تزويد AutoML Vision Edge بمجموعة من الصور والتسميات المقابلة. يستخدم AutoML Vision Edge مجموعة البيانات هذه لتدريب نموذج جديد في السحابة ، والذي يمكنك استخدامه لتصنيف الصور على الجهاز في تطبيقك. (راجع نظرة عامة للحصول على معلومات عامة حول هذه الميزة.)
AutoML Vision Edge هي خدمة Google Cloud. يخضع استخدام الخدمة لاتفاقية ترخيص Google Cloud Platform وشروط الخدمة المحددة ، ويتم إصدار الفواتير وفقًا لذلك. للحصول على معلومات الفواتير ، راجع صفحة تسعير AutoML.
قبل ان تبدأ
إذا لم يكن لديك بالفعل مشروع Firebase أو Google Cloud ، فأنشئ واحدًا في وحدة تحكم Firebase .
تعرف على الإرشادات الواردة في دليل ML الشامل - AutoML .
إذا كنت ترغب فقط في تجربة AutoML Vision Edge ، وليس لديك بيانات تدريب خاصة بك ، فقم بتنزيل عينة مجموعة بيانات مثل واحدة مما يلي:
- مجموعة بيانات نموذجية لصورة الزهور الرسمية في TensorFlow
- مجموعة البيانات الأبجدية للغة الإشارة الأمريكية (ASL)
يمكنك العثور على المزيد من مجموعات البيانات المستضافة على Kaggle .
1. قم بتجميع بيانات التدريب الخاصة بك
أولاً ، تحتاج إلى تجميع مجموعة بيانات تدريبية من الصور المصنفة. ضع في اعتبارك الإرشادات التالية:
يجب أن تكون الصور بأحد التنسيقات التالية: JPEG و PNG و GIF و BMP و ICO.
يجب أن يكون حجم كل صورة 30 ميغا بايت أو أصغر. لاحظ أن AutoML Vision Edge يقلل من حجم معظم الصور أثناء المعالجة المسبقة ، لذلك لا توجد فائدة دقة بشكل عام في توفير صور عالية الدقة.
قم بتضمين 10 أمثلة على الأقل ، ويفضل 100 أو أكثر ، أمثلة لكل تسمية.
قم بتضمين زوايا ودقة وخلفيات متعددة لكل تسمية.
يجب أن تكون بيانات التدريب قريبة قدر الإمكان من البيانات التي سيتم إجراء التنبؤات عليها. على سبيل المثال ، إذا كانت حالة الاستخدام الخاصة بك تتضمن صورًا ضبابية منخفضة الدقة (مثل الصور من كاميرا مراقبة) ، فيجب أن تتكون بيانات التدريب الخاصة بك من صور ضبابية منخفضة الدقة.
تم تحسين النماذج التي تم إنشاؤها بواسطة AutoML Vision Edge لصور الكائنات في العالم الحقيقي. قد لا تعمل بشكل جيد مع صور الأشعة السينية والرسومات اليدوية والمستندات الممسوحة ضوئيًا والإيصالات وما إلى ذلك.
أيضًا ، لا يمكن للنماذج بشكل عام التنبؤ بالتسميات التي لا يمكن للبشر تعيينها. لذلك ، إذا لم يتمكن الإنسان من تعيين تسميات من خلال النظر إلى الصورة لمدة 1-2 ثانية ، فمن المحتمل ألا يتم تدريب النموذج على القيام بذلك أيضًا.
عندما تكون لديك صور التدريب جاهزة ، قم بإعدادها لاستيرادها إلى Firebase. لديك ثلاثة خيارات:
الخيار 1: أرشيف مضغوط منظم
نظّم صورك التدريبية في دلائل ، كل منها يحمل اسمًا يحتوي على صور تمثل أمثلة لذلك الملصق. بعد ذلك ، قم بضغط بنية الدليل في أرشيف مضغوط.
يمكن أن يصل طول أسماء الدلائل في أرشيف 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: التخزين السحابي مع فهرس 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 بعد تحميلها ، إما بشكل فردي أو في ملف مضغوط غير منظم. انظر الخطوة التالية.
2. تدريب النموذج الخاص بك
بعد ذلك ، قم بتدريب نموذج باستخدام صورك:
افتح صفحة Vision Datasets في Google Cloud Console. حدد مشروعك عندما يُطلب منك ذلك.
انقر فوق مجموعة بيانات جديدة ، وقم بتوفير اسم لمجموعة البيانات ، وحدد نوع النموذج الذي تريد تدريبه ، وانقر فوق إنشاء مجموعة بيانات .
في علامة تبويب استيراد مجموعة البيانات الخاصة بك ، قم بتحميل إما أرشيف مضغوط لصور التدريب أو ملف CSV يحتوي على مواقع التخزين السحابي التي قمت بتحميلها إليها. راجع تجميع بيانات التدريب الخاصة بك .
بعد اكتمال مهمة الاستيراد ، استخدم علامة التبويب الصور للتحقق من بيانات التدريب وتسمية أي صور غير مسماة.
في علامة التبويب "تدريب" ، انقر فوق بدء التدريب .
قم بتسمية النموذج وحدد نوع نموذج الحافة .
قم بتكوين إعدادات التدريب التالية ، التي تحكم أداء النموذج الذي تم إنشاؤه:
تحسين النموذج لـ ... تكوين النموذج المراد استخدامه. يمكنك تدريب نماذج أسرع وأصغر عندما يكون وقت الاستجابة المنخفض أو حجم الحزمة الصغير مهمًا أو النماذج الأبطأ والأكبر عندما تكون الدقة هي الأكثر أهمية. ميزانية ساعة العقدة الحد الأقصى للوقت ، في ساعات الحساب ، لقضاء تدريب النموذج. ينتج عن المزيد من وقت التدريب عمومًا نموذج أكثر دقة.
لاحظ أنه يمكن إكمال التدريب في أقل من الوقت المحدد إذا قرر النظام أن النموذج قد تم تحسينه وأن التدريب الإضافي لن يحسن الدقة. يتم محاسبتك فقط على الساعات المستخدمة بالفعل.
أوقات التدريب النموذجية مجموعات صغيرة جدا 1 ساعة 500 صورة ساعاتين 1000 صورة 3 ساعات 5000 صورة 6 ساعات 10000 صورة 7 ساعات 50000 صورة 11 ساعة 100،000 صورة 13 ساعة 1،000،000 صورة 18 ساعة
3. تقييم النموذج الخاص بك
عند اكتمال التدريب ، يمكنك النقر فوق علامة التبويب تقييم لمشاهدة مقاييس الأداء الخاصة بالنموذج.
أحد الاستخدامات المهمة لهذه الصفحة هو تحديد حد الثقة الأفضل لنموذجك. حد الثقة هو الحد الأدنى من الثقة الذي يجب أن يمتلكه النموذج لتعيين تسمية لصورة. من خلال تحريك شريط تمرير حد الثقة ، يمكنك مشاهدة كيف تؤثر الحدود المختلفة على أداء النموذج. يتم قياس أداء النموذج باستخدام مقياسين: الدقة والتذكر .
في سياق تصنيف الصور ، الدقة هي نسبة عدد الصور التي تم تصنيفها بشكل صحيح إلى عدد الصور التي تم تصنيفها في النموذج وفقًا للحد المحدد. عندما يكون للنموذج دقة عالية ، فإنه يقل عدد مرات تعيين التسميات بشكل غير صحيح (عدد أقل من الإيجابيات الخاطئة).
الاستدعاء هو نسبة عدد الصور التي تم تصنيفها بشكل صحيح إلى عدد الصور التي كان يجب أن يكون النموذج قادرًا على تصنيفها. عندما يكون للنموذج معدل استدعاء مرتفع ، فإنه يفشل في تعيين أي تسمية أقل تكرارًا (عدد أقل من السلبيات الخاطئة).
يعتمد ما إذا كنت تقوم بالتحسين من أجل الدقة أو الاسترجاع على حالة الاستخدام الخاصة بك. راجع دليل AutoML Vision للمبتدئين ودليل ML الشامل - AutoML للحصول على مزيد من المعلومات.
عندما تجد حد الثقة الذي ينتج عنه مقاييس تناسبك ، قم بتدوين ذلك ؛ ستستخدم حد الثقة لتكوين النموذج في تطبيقك. (يمكنك استخدام هذه الأداة في أي وقت للحصول على قيمة حد مناسبة.)
4. نشر أو تنزيل النموذج الخاص بك
إذا كنت راضيًا عن أداء النموذج وترغب في استخدامه في أحد التطبيقات ، فلديك ثلاثة خيارات ، يمكنك من خلالها اختيار أي مجموعة: نشر النموذج للتنبؤ عبر الإنترنت ، أو نشر النموذج على Firebase ، أو تنزيل النموذج وحزمه مع تطبيقك.
انشر النموذج
في علامة تبويب الاختبار والاستخدام لمجموعة البيانات الخاصة بك ، يمكنك نشر النموذج الخاص بك للتنبؤ عبر الإنترنت ، والذي يقوم بتشغيل النموذج الخاص بك في السحابة. تمت تغطية هذا الخيار في مستندات Cloud AutoML . المستندات الموجودة في هذا الموقع تتعامل مع الخيارين المتبقيين.
انشر النموذج
من خلال نشر النموذج على Firebase ، يمكنك تحديث النموذج دون إصدار إصدار جديد للتطبيق ، ويمكنك استخدام Remote Config و A / B Testing لعرض نماذج مختلفة بشكل ديناميكي لمجموعات مختلفة من المستخدمين.
إذا اخترت تقديم النموذج فقط من خلال استضافته مع Firebase ، وليس تجميعه مع تطبيقك ، يمكنك تقليل حجم التنزيل الأولي لتطبيقك. ومع ذلك ، ضع في اعتبارك أنه إذا لم يكن النموذج مدمجًا مع تطبيقك ، فلن تتوفر أي وظيفة متعلقة بالنموذج حتى يقوم تطبيقك بتنزيل النموذج لأول مرة.
لنشر النموذج الخاص بك ، يمكنك استخدام أي من طريقتين:
- قم بتنزيل نموذج TF Lite من صفحة الاختبار والاستخدام الخاصة بمجموعة البيانات الخاصة بك في Google Cloud Console ، ثم قم بتحميل النموذج على صفحة النموذج المخصص لوحدة تحكم Firebase. عادة ما تكون هذه هي أسهل طريقة لنشر نموذج واحد.
- انشر النموذج مباشرة من مشروع Google Cloud إلى Firebase باستخدام Admin SDK. يمكنك استخدام هذه الطريقة لنشر عدة نماذج دفعة واحدة أو للمساعدة في إنشاء خطوط أنابيب للنشر الآلي.
لنشر النموذج باستخدام Admin SDK model Management API :
انشر النموذج.
ستحتاج إلى تحديد معرف مورد النموذج ، وهو عبارة عن سلسلة تشبه المثال التالي:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
رقم مشروع حاوية التخزين السحابي التي تحتوي على النموذج. قد يكون هذا هو مشروع Firebase الخاص بك أو مشروع Google Cloud آخر. يمكنك العثور على هذه القيمة في صفحة الإعدادات بوحدة تحكم Firebase أو لوحة تحكم Google Cloud Console. MODEL_ID
معرّف النموذج الذي حصلت عليه من AutoML Cloud API. بايثون
# 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);
قم بتنزيل النموذج وتجميعه مع تطبيقك
من خلال تجميع نموذجك مع تطبيقك ، يمكنك التأكد من استمرار عمل ميزات ML في تطبيقك عندما لا يكون النموذج المستضاف في Firebase متاحًا.
إذا قمت بنشر النموذج وقمت بتجميعه مع تطبيقك ، فسيستخدم التطبيق أحدث إصدار متاح.
لتنزيل النموذج الخاص بك ، انقر فوق TF Lite في صفحة الاختبار والاستخدام الخاصة بمجموعة البيانات الخاصة بك.
الخطوات التالية
الآن بعد أن قمت بنشر أو تنزيل النموذج ، تعرف على كيفية استخدام النموذج في تطبيقات iOS + و Android .