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

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

في Ultralytics نتشارك تجارياً مع شركات ناشئة أخرى لمساعدتنا في تمويل البحث والتطوير لأدواتنا الرائعة مفتوحة المصدر، مثل YOLOv5 لإبقائها مجانية للجميع. قد تحتوي هذه المقالة على روابط تابعة لهؤلاء الشركاء.
شريكنا الجديد Cometببناء أدوات تساعد علماء البيانات والمهندسين وقادة الفرق على تسريع وتحسين نماذج التعلُّم الآلي والتعلُّم العميق.
Comet أداة قوية لتتبع نماذجك ومجموعات بياناتك ومقاييسك. حتى أنها تسجل متغيرات النظام والبيئة لضمان إمكانية التكرار والتصحيح السلس لكل عملية تشغيل. الأمر يشبه وجود مساعد افتراضي يعرف بطريقة سحرية الملاحظات التي يجب الاحتفاظ بها. تعقب مقاييس النموذج وتصورها في الوقت الفعلي، واحفظ المعلمات الفائقة ومجموعات البيانات ونقاط التحقق من النموذج، وتصور تنبؤات نموذجك باستخدام لوحاتComet المخصصة!
وعلاوة على ذلك، يضمن لك Comet ألا تفقد track عملك أبدًا ويجعل من السهل مشاركة النتائج والتعاون بين الفرق من جميع الأحجام!
YOLOv5 نقطة انطلاق رائعة لرحلتك في مجال الرؤية الحاسوبية. لتحسين أداء النموذج الخاص بك وجعله جاهزًا للإنتاج، ستحتاج إلى تسجيل النتائج في أداة تتبع التجارب مثل Comet.
يوفر تكامل Comet و YOLOv5 3 ميزات رئيسية:
سيغطي هذا الدليل كيفية استخدام YOLOv5 مع Comet.
هل أنت مستعد track تجاربك في الوقت الفعلي؟ لنبدأ!
Pip install comet
هناك طريقتان لتهيئة Comet باستخدام YOLOv5.
يمكنك إما تعيين بيانات الاعتماد الخاصة بك من خلال متغيرات البيئة أو إنشاء ملفcomet.config في دليل العمل الخاص بك وتعيين بيانات الاعتماد الخاصة بك هناك.
تصدير COMET COMET# سيكون هذا افتراضيًا إلىyolov5'
[comet] api_key= project_name=<Your Comet API Key># This will default to 'yolov5'
# قم بتدريب YOLOv5s على COCO128 لمدة 5 إبيوشسبايثون train.py --img 640 - الدفعة 16 -الدفعات 16 -البؤر الزمنية 5 -بيانات coco128yaml --الأوزان yolov5s.pt
هذا كل شيء!
سيقوم Comet تلقائيًا بتسجيل المعلمات الفائقة، ووسائط سطر الأوامر، والتدريب، ومقاييس التحقق من الصحة. يمكنك تصور وتحليل عمليات التشغيل الخاصة بك في واجهة مستخدم Comet .

تحقق من مثال لتشغيل مكتمل هنا.
أو الأفضل من ذلك، جرّب بنفسك في دفتر Colab هذا.
بشكل افتراضي، يقوم Comet بتسجيل العناصر التالية:
يمكن تهيئة Comet لتسجيل بيانات إضافية من خلال إشارات سطر الأوامر التي يتم تمريرها إلى البرنامج النصي للتدريب أو متغيرات البيئة.
تصدير COMET على الإنترنت # تعيين ما إذا كان سيتم تشغيل Comet في وضع "متصل" أو "غير متصل". الإعداد الافتراضي إلى متصل-تصدير COMET# تعيين اسم النموذج المحفوظ. الإعداد الافتراضي إلى yolov5export COMET# تعيين لتعطيل تسجيل مصفوفة تشويش Comet . الإعداد الافتراضي إلى trueexport COMET# يتحكم في عدد إجمالي تنبؤات الصور المراد تسجيلها في Comet. الإعداد الافتراضي إلى 100.تصدير COMET# تعيين لتسجيل مقاييس التقييم لكل فئة مكتشفة في نهاية التدريب. الإعداد الافتراضي إلى falseexport COMET# قم بتعيين هذا إذا كنت ترغب في استئناف التدريب من نقطة تفتيش مختلفة. الإعداد الافتراضي إلى 'last.pt'تصدير 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
عند تسجيل التنبؤات من 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، يمكنك القيام بذلك باستخدام علامة upload_dataset.
يتم تنظيم مجموعة البيانات بالطريقة الموضحة في وثائقYOLOv5 . يجب أن يتبع ملف yaml لتكوين مجموعة البيانات نفس تنسيق ملف coco128yaml
python Train.py \ \ -img 640 \ - دفعة 16 \ - دُفعات 16 \ - دقات 5 \ - بيانات coco128yaml \ - أوزان yolov5s.pt \ - تحميل_dataset
يمكنك العثور على مجموعة البيانات التي تم تحميلها في علامة التبويب القطع الأثرية في مساحة عمل Comet

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

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

إذا كنت تريد استخدام مجموعة بيانات من Comet Artifacts، قم بتعيين متغير المسار في ملف yaml الخاص بمجموعة البيانات للإشارة إلى عنوان URL لمورد Artifact التالي.
# محتويات ملف artifactyaml المسار:comet:////:"
ثم قم بتمرير هذا الملف إلى البرنامج النصي للتدريب الخاص بك بالطريقة التالية:
python train.py \ \ -img 640 \ - دفعة 16 \ - دُفعات 16 \ - دقات 5 \ - بيانات artifactyaml \ - أوزان yolov5s.pt
تسمح لك القطع الأثرية أيضًا track تسلسل البيانات أثناء تدفقها عبر سير عمل التجارب الخاصة بك. يمكنك هنا رؤية رسم بياني يوضح لك جميع التجارب التي استخدمت مجموعة البيانات التي تم تحميلها.

إذا انقطع تشغيل التدريب لأي سبب من الأسباب، مثل انقطاع الاتصال بالإنترنت، يمكنك استئناف التشغيل باستخدام علامة استئناف ومسار تشغيل Comet .
يحتوي مسار التشغيل على التنسيق التالي comet:////.
سيؤدي ذلك إلى استعادة التشغيل إلى حالته قبل الانقطاع، والذي يتضمن استعادة النموذج من نقطة تفتيش، واستعادة جميع المعلمات الفائقة ووسائط التدريب، وتنزيل مجموعة بيانات Comet Artifacts إذا كانت مستخدمة في التشغيل الأصلي. سيستمر التشغيل المستأنف في تسجيل الدخول إلى التجربة الحالية في واجهة مستخدم Comet .
python train.py \ --- استئناف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 الخاصة بك وتصورها وتحسينها - بدءًا من عمليات التدريب وحتى مراقبة الإنتاج.
وبالطبع، انضم إلى مجتمعUltralytics - وهو مكان لطرح الأسئلة ومشاركة النصائح حول تدريب YOLOv5 والتحقق من صحته ونشره.