الشيك الأخضر
تم نسخ الرابط إلى الحافظة

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

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

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

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

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

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

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

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

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


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

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

الشروع

1. تثبيت Comet

تثبيت النقطة comet_مل

2. تكوين Comet وثائق التفويض

هناك طريقتان للتكوين Comet مع YOLOv5.

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


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

تصدير COMET_API_KEY=تصدير COMET_PROJECT_NAME = # هذا سوف الافتراضي إلى '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 - عصور 5 - بيانات coco128.yaml - الأوزان yolov5s.pt

هذا هو!

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

تجارب مع YOLOv5 في Comet لوحه القياده

جربه بنفسك!

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

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

تسجيل الدخول تلقائيا

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

المقاييس

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

البارامترات

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

تصورات

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

تكوين Comet تسجيل

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

تصدير COMET_MODE=online # تعيين ما إذا كنت تريد التشغيل أم لا Comet في وضع "متصل" أو "غير متصل". الإعدادات الافتراضية للتصدير عبر الإنترنت COMET_MODEL_NAME= #Set اسم النموذج المحفوظ. الإعدادات الافتراضية ل yolov5export COMET_LOG_CONFUSION_MATRIX=false # تعيين لتعطيل تسجيل أ Comet مصفوفة الارتباك. الإعدادات الافتراضية ل trueexport COMET_MAX_IMAGE_UPLOADS= # يتحكم في عدد إجمالي تنبؤات الصور لتسجيل الدخول إليها Comet. الإعدادات الافتراضية إلى 100.export COMET_LOG_PER_CLASS_METRICS=true # تعيين لتسجيل مقاييس التقييم لكل فئة تم اكتشافها في نهاية التدريب. الإعدادات الافتراضية ل falseexport COMET_DEFAULT_CHECKPOINT_FILENAME= # قم بتعيين هذا إذا كنت ترغب في استئناف التدريب من نقطة تفتيش مختلفة. الإعدادات الافتراضية ل 'last.pt'export COMET_LOG_BATCH_LEVEL_METRICS=true # قم بتعيين هذا إذا كنت ترغب في تسجيل مقاييس التدريب على مستوى الدفعة. الإعدادات الافتراضية ل false.export COMET_LOG_PREDICTIONS=true # اضبط هذا على false لتعطيل تنبؤات نموذج التسجيل

تسجيل نقاط التفتيش مع Comet

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

python train.py \

--IMG 640 \

- الدفعة 16 \

--عهود 5 \

- بيانات coco128.yaml \

--الأوزان yolov5s.pt \

--فترة الحفظ 1

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

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

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

فيما يلي مثال على مشروع يستخدم الفريق.

python train.py \--img 640 \--دفعة 16 \--الحقب 5 \--البيانات coco128.yaml \--الأوزان yolov5s.pt \--bbox_interval 2

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

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

الحياه الفطريه COMET_MAX_IMAGE_UPLOADS=200python train.py \--img 640 \--دفعة 16 \---عهود 5 \--بيانات coco128.yaml \--الأوزان yolov5s.pt \--bbox_interval 1

تسجيل مقاييس مستوى الفصل

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

الحياه الفطريه COMET_LOG_PER_CLASS_METRICS= صحيح python train.py \--img 640 \--دفعة 16 \--عهود 5 \--بيانات coco128.yaml \--أوزان yolov5s.pt

تحميل مجموعة بيانات إلى Comet التحف

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

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

python train.py \--img 640 \--دفعة 16 \--عهود 5 \--بيانات coco128.yaml \--أوزان yolov5s.pt \--upload_dataset

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

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

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

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

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

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

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

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

# محتويات مسار ملف artifact.yaml: "comet:///:"

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

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

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

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

استئناف تشغيل التدريب

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

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

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

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

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

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

تكوين مسح محسن

لتكوين Comet محسن ، سيكون عليك إنشاء ملف JSON بمعلومات حول المسح.

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

المرافق / الحطابين /comet/optimizer_config.json python المرافق / الحطابين /comet/hpo.py \--comet_optimizer_config "الأدوات / الحطابين /comet/optimizer_config.json"

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

python المرافق / الحطابين /comet/hpo.py \--comet_optimizer_config "الأدوات / الحطابين /comet/optimizer_config.json" \--فترة الحفظ 1 \--bbox_interval 1

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

comet محسن -j utils/loggers/comet/hpo.py \utils/loggers/comet/optimizer_config.json"

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

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

ابق على اتصال

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

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

شعار الفيسبوكشعار تويترشعار لينكد إنرمز نسخ الرابط

اقرأ المزيد في هذه الفئة

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

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