Yolo فيجن شنتشن
شنتشن
انضم الآن

كيفية استخدامYOLOv5 Ultralytics YOLOv5 مع Comet

فريق Ultralytics

5 دقائق قراءة

11 أكتوبر 2022

اكتشف كيف تتعاون Ultralytics مع Comet لتحسين نموذج Ultralytics YOLOv5 : التتبع في الوقت الحقيقي، والتعاون المبسّط، وقابلية التكرار المحسّنة.

في Ultralytics نتشارك تجارياً مع شركات ناشئة أخرى لمساعدتنا في تمويل البحث والتطوير لأدواتنا الرائعة مفتوحة المصدر، مثل YOLOv5 لإبقائها مجانية للجميع. قد تحتوي هذه المقالة على روابط تابعة لهؤلاء الشركاء.

شريكنا الجديد Cometببناء أدوات تساعد علماء البيانات والمهندسين وقادة الفرق على تسريع وتحسين نماذج التعلُّم الآلي والتعلُّم العميق.

Comet أداة قوية لتتبع نماذجك ومجموعات بياناتك ومقاييسك. حتى أنها تسجل متغيرات النظام والبيئة لضمان إمكانية التكرار والتصحيح السلس لكل عملية تشغيل. الأمر يشبه وجود مساعد افتراضي يعرف بطريقة سحرية الملاحظات التي يجب الاحتفاظ بها. تعقب مقاييس النموذج وتصورها في الوقت الفعلي، واحفظ المعلمات الفائقة ومجموعات البيانات ونقاط التحقق من النموذج، وتصور تنبؤات نموذجك باستخدام لوحاتComet المخصصة!

وعلاوة على ذلك، يضمن لك Comet ألا تفقد track عملك أبدًا ويجعل من السهل مشاركة النتائج والتعاون بين الفرق من جميع الأحجام!

YOLOv5 نقطة انطلاق رائعة لرحلتك في مجال الرؤية الحاسوبية. لتحسين أداء النموذج الخاص بك وجعله جاهزًا للإنتاج، ستحتاج إلى تسجيل النتائج في أداة تتبع التجارب مثل Comet.

يوفر تكامل Comet و YOLOv5 3 ميزات رئيسية:

  • ميزات التسجيل التلقائي والتسجيل المخصص
  • حفظ مجموعات البيانات والنماذج كأدوات للتصحيح وإعادة الإنتاج
  • تنظيم العرض الخاص بك باستخدام لوحات Cometالمخصصة


سيغطي هذا الدليل كيفية استخدام YOLOv5 مع Comet.

هل أنت مستعد track تجاربك في الوقت الفعلي؟ لنبدأ!

البدء

1. تثبيت Comet

Pip install comet

2. تكوين بيانات اعتماد Comet

هناك طريقتان لتهيئة Comet باستخدام YOLOv5.

يمكنك إما تعيين بيانات الاعتماد الخاصة بك من خلال متغيرات البيئة أو إنشاء ملفcomet.config في دليل العمل الخاص بك وتعيين بيانات الاعتماد الخاصة بك هناك.


متغيرات البيئة

تصدير COMET COMET# سيكون هذا افتراضيًا إلىyolov5'


ملف تكوين Comet

[comet] api_key= project_name=<Your Comet API Key># This will default to 'yolov5'

3. تشغيل سكريبت التدريب

# قم بتدريب YOLOv5s على COCO128 لمدة 5 إبيوشسبايثون train.py --img 640 - الدفعة 16 -الدفعات 16 -البؤر الزمنية 5 -بيانات coco128yaml --الأوزان yolov5s.pt

هذا كل شيء!

سيقوم Comet تلقائيًا بتسجيل المعلمات الفائقة، ووسائط سطر الأوامر، والتدريب، ومقاييس التحقق من الصحة. يمكنك تصور وتحليل عمليات التشغيل الخاصة بك في واجهة مستخدم Comet .

تجارب مع YOLOv5 في لوحة معلومات Comet

جربها بنفسك!

تحقق من مثال لتشغيل مكتمل هنا.

أو الأفضل من ذلك، جرّب بنفسك في دفتر Colab هذا.

تسجيل تلقائي

بشكل افتراضي، يقوم Comet بتسجيل العناصر التالية:

مقاييس الأداء

  • خسارة المربع، وخسارة الكائن، وخسارة التصنيف لبيانات التدريب والتحقق
  • mAP.5، mAP.5:0.95 لبيانات التحقق من الصحة
  • الدقة والاسترجاع لبيانات التحقق

المعلمات

  • المعلمات الفائقة للنموذج
  • جميع المعلمات التي تم تمريرها من خلال خيارات سطر الأوامر

التصورات

  • مصفوفة الالتباس لتوقعات النموذج على بيانات التحقق
  • مخططات لمنحنيات PR و F1 عبر جميع الفئات
  • مخطط الارتباط لعلامات التصنيف

تكوين تسجيل Comet

يمكن تهيئة Comet لتسجيل بيانات إضافية من خلال إشارات سطر الأوامر التي يتم تمريرها إلى البرنامج النصي للتدريب أو متغيرات البيئة.

تصدير COMET على الإنترنت # تعيين ما إذا كان سيتم تشغيل Comet في وضع "متصل" أو "غير متصل". الإعداد الافتراضي إلى متصل-تصدير COMET# تعيين اسم النموذج المحفوظ. الإعداد الافتراضي إلى yolov5export COMET# تعيين لتعطيل تسجيل مصفوفة تشويش Comet . الإعداد الافتراضي إلى trueexport COMET# يتحكم في عدد إجمالي تنبؤات الصور المراد تسجيلها في Comet. الإعداد الافتراضي إلى 100.تصدير COMET# تعيين لتسجيل مقاييس التقييم لكل فئة مكتشفة في نهاية التدريب. الإعداد الافتراضي إلى falseexport COMET# قم بتعيين هذا إذا كنت ترغب في استئناف التدريب من نقطة تفتيش مختلفة. الإعداد الافتراضي إلى 'last.pt'تصدير COMET# قم بتعيين هذا إذا كنت ترغب في تسجيل مقاييس التدريب على مستوى الدُفعات. الإعداد الافتراضي إلى خطأ.تصدير COMET# قم بتعيين هذا إلى خطأ لتعطيل تسجيل تنبؤات النموذج

تسجيل نقاط التفتيش باستخدام Comet

يتم تعطيل تسجيل النماذج إلى Comet افتراضيًا. لتمكينه، مرر وسيطة حفظ الفترة إلى البرنامج النصي للتدريب. سيؤدي ذلك إلى حفظ نقاط التدقيق المسجلة في Comet بناءً على قيمة الفاصل الزمني التي توفرها فترة الحفظ.

python train.py \

--img 640 \

- الدفعة 16 \

--epochs 5 \

- بيانات coco128yaml \

--weights yolov5s.pt \

- فترة الحفظ 1

تسجيل تنبؤات النموذج

بشكل افتراضي، سيتم تسجيل تنبؤات النموذج (الصور، وتسميات الحقيقة الأرضية، والمربعات المحدودة) إلى Comet. يمكنك التحكم بتكرار التنبؤات المسجلة والصور المرتبطة بها من خلال تمرير وسيطة سطر الأوامر bbox. يمكن تصوّر التنبؤات باستخدام لوحة مخصص للكشف عن الكائنات في Comet. يتوافق هذا التردد مع كل دفعة N من البيانات لكل حقبة زمنية. في المثال أدناه، نقوم بتسجيل كل الدفعة الثانية من البيانات لكل حقبة زمنية.

ملاحظة: سيقوم مُحمّل بيانات التحقق من صحة YOLOv5 بتحميل بيانات التحقق من صحة YOLOv5 افتراضيًا على حجم دفعة 32، لذا سيتعين عليك ضبط تردد التسجيل وفقًا لذلك.

إليك مثال لمشروع يستخدم Panel.

python train.py \ \ -img 640 \ - دفعة 16 \ -epochs 5 \ - بيانات coco128yaml \ - الأوزان yolov5s.pt \ bbox 2

التحكم في عدد صور التنبؤ المسجلة Comet

عند تسجيل التنبؤات من YOLOv5 يقوم Comet بتسجيل الصور المرتبطة بكل مجموعة من التنبؤات. بشكل افتراضي، يتم تسجيل 100 صورة تحقق كحد أقصى. يمكنك زيادة أو تقليل هذا العدد باستخدام متغير البيئة COMET.

env COMET Train.py \ \ \ img 640 \ \-دفعة 16 \ \ \ epochs 5 \ \ \ \ \ \ data coco128yaml \ \ \ weights yolov5s.pt \ \ \ bbox 1

تسجيل مقاييس مستوى الفئة

استخدم متغير البيئة COMET لتسجيل mAP والدقة، والاسترجاع، و f1 لكل فئة.

env COMET python train.py \ \ \ img 640 \ \ \-دفعة 16 \ \ \ epochs 5 \ \ \ \ data coco128yaml \ \ \ weights yolov5s.pt

تحميل قاعدة بيانات إلى Comet Artifacts

إذا كنت ترغب في تخزين بياناتك باستخدام Comet Artifacts، يمكنك القيام بذلك باستخدام علامة upload_dataset.

يتم تنظيم مجموعة البيانات بالطريقة الموضحة في وثائقYOLOv5 . يجب أن يتبع ملف yaml لتكوين مجموعة البيانات نفس تنسيق ملف coco128yaml

python Train.py \ \ -img 640 \ - دفعة 16 \ - دُفعات 16 \ - دقات 5 \ - بيانات coco128yaml \ - أوزان yolov5s.pt \ - تحميل_dataset

يمكنك العثور على مجموعة البيانات التي تم تحميلها في علامة التبويب القطع الأثرية في مساحة عمل Comet

علامة تبويب القطع الأثرية Comet  YOLOv5

يمكنك معاينة البيانات مباشرةً في واجهة مستخدم Comet UI.

معاينة البيانات في Comet YOLOv5

يتم إصدار القطع الأثرية وتدعم أيضًا إضافة بيانات وصفية حول مجموعة البيانات. سيقوم Comet بتسجيل البيانات الوصفية تلقائيًا من ملف yaml الخاص بمجموعة البيانات.

البيانات الوصفية للسجل من ملف YAML في Comet YOLOv5

استخدام قطعة أثرية محفوظة

إذا كنت تريد استخدام مجموعة بيانات من Comet Artifacts، قم بتعيين متغير المسار في ملف yaml الخاص بمجموعة البيانات للإشارة إلى عنوان URL لمورد Artifact التالي.

# محتويات ملف artifactyaml المسار:comet:////:"

ثم قم بتمرير هذا الملف إلى البرنامج النصي للتدريب الخاص بك بالطريقة التالية:

python train.py \ \ -img 640 \ - دفعة 16 \ - دُفعات 16 \ - دقات 5 \ - بيانات artifactyaml \ - أوزان yolov5s.pt

تسمح لك القطع الأثرية أيضًا track تسلسل البيانات أثناء تدفقها عبر سير عمل التجارب الخاصة بك. يمكنك هنا رؤية رسم بياني يوضح لك جميع التجارب التي استخدمت مجموعة البيانات التي تم تحميلها.

سير عمل تجارب Comet  YOLOv5

استئناف عملية التدريب

إذا انقطع تشغيل التدريب لأي سبب من الأسباب، مثل انقطاع الاتصال بالإنترنت، يمكنك استئناف التشغيل باستخدام علامة استئناف ومسار تشغيل Comet .

يحتوي مسار التشغيل على التنسيق التالي comet:////.

سيؤدي ذلك إلى استعادة التشغيل إلى حالته قبل الانقطاع، والذي يتضمن استعادة النموذج من نقطة تفتيش، واستعادة جميع المعلمات الفائقة ووسائط التدريب، وتنزيل مجموعة بيانات Comet Artifacts إذا كانت مستخدمة في التشغيل الأصلي. سيستمر التشغيل المستأنف في تسجيل الدخول إلى التجربة الحالية في واجهة مستخدم Comet .

python train.py \ --- استئنافcomet://"

البحث عن المعلمة الفائقة باستخدام مُحسِّن Comet

تم دمج YOLOv5 أيضًا مع مُحسِّن Comet مما يجعل من السهل تصور عمليات مسح المعلمات الفائقة في واجهة مستخدم Comet .

تكوين عملية مسح المُحسِّن

لتهيئة مُحسِّن Comet سيتعين عليك إنشاء ملف JSON يحتوي على معلومات حول المسح.

تم توفير ملف مثال في:

comet.json python comet.py comet"comet.json"

يقبل البرنامج النصي hpo.py نفس وسيطات train.py. إذا كنت ترغب في تمرير وسيطات إضافية إلى المسح الخاص بك، فما عليك سوى إضافتها بعد البرنامج النصي.

\ python comet.py comet"comet.json" \-حفظ-فترة-حفظ-فترة 1 bbox 1

تشغيل عملية مسح بالتوازي

comet optimizer -j comet.py comet.json"

يوفر Comet العديد من الطرق لتصور نتائج المسح الخاص بك. ألقِ نظرة على مشروع مسح مكتمل هنا:

تصور نتائج المسح في Comet, YOLOv5

ابق على تواصل

ابدأ في استخدام تكاملنا مع Comet لإدارة نماذج YOLOv5 الخاصة بك وتصورها وتحسينها - بدءًا من عمليات التدريب وحتى مراقبة الإنتاج.

وبالطبع، انضم إلى مجتمعUltralytics - وهو مكان لطرح الأسئلة ومشاركة النصائح حول تدريب YOLOv5 والتحقق من صحته ونشره.

لنبنِ مستقبل
الذكاء الاصطناعي معًا!

ابدأ رحلتك مع مستقبل تعلم الآلة

ابدأ مجانًا