تعرف على YOLO26: جيل جديد من ذكاء الرؤية الاصطناعي.
Ultralytics
التكاملات

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

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

فرفريق Ultralytics
5 min read
تتبع تدريب نموذج Ultralytics YOLOv5 باستخدام Comet

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

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

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

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

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

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

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

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

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

Link to this sectionالبدء#

Link to this sectionتثبيت Comet#

pip install comet_ml

Link to this sectionتكوين بيانات اعتماد Comet#

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

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

Link to this sectionمتغيرات البيئة#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Link to this sectionملف تكوين Comet#

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

Link to this sectionتشغيل برنامج التدريب النصي#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

هذا كل شيء!

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

تجارب باستخدام YOLOv5 في لوحة تحكم Comet

Link to this sectionجرب ذلك بنفسك!#

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

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

Link to this sectionالتسجيل التلقائي#

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

Link to this sectionالمقاييس#

  • خسارة الصندوق (Box Loss)، وخسارة الكائن (Object Loss)، وخسارة التصنيف (Classification Loss) لبيانات التدريب والتحقق من الصحة
  • مقاييس mAP_0.5 و mAP_0.5:0.95 لبيانات التحقق من الصحة
  • الدقة (Precision) والاستدعاء (Recall) لبيانات التحقق من الصحة

Link to this sectionالمعلمات#

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

Link to this sectionالتصورات#

  • مصفوفة الارتباك (Confusion Matrix) لتنبؤات النموذج على بيانات التحقق من الصحة
  • مخططات لمنحنيات PR و F1 عبر جميع الفئات
  • مخطط الارتباط (Correlogram) لتسميات الفئات

Link to this sectionتكوين تسجيل Comet#

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

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Link to this sectionتسجيل نقاط التحقق (Checkpoints) مع Comet#

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

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Link to this sectionتسجيل تنبؤات النموذج#

افتراضياً، سيتم تسجيل تنبؤات النموذج (الصور، تسميات الحقيقة الأرضية، ومربعات التحديد) في Comet. يمكنك التحكم في تكرار التنبؤات المسجلة والصور المرتبطة بها عن طريق تمرير وسيط سطر الأوامر bbox_interval. يمكن تصور التنبؤات باستخدام لوحة اكتشاف الكائنات المخصصة من Comet. يتوافق هذا التكرار مع كل دفعة (batch) رقم N من البيانات لكل دورة (epoch). في المثال أدناه، نقوم بتسجيل كل دفعة ثانية من البيانات لكل دورة.

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

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

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

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

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

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Link to this sectionتسجيل المقاييس على مستوى الفئة#

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

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Link to this sectionتحميل مجموعة بيانات إلى أدوات Comet (Artifacts)#

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

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

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

يمكنك العثور على مجموعة البيانات التي تم تحميلها في علامة التبويب Artifacts في مساحة عمل Comet الخاصة بك

علامة تبويب ملفات Comet، YOLOv5

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

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

الأدوات (Artifacts) ذات إصدارات وتدعم أيضاً إضافة بيانات وصفية حول مجموعة البيانات. ستقوم Comet تلقائياً بتسجيل البيانات الوصفية من ملف yaml الخاص بمجموعة البيانات الخاصة بك.

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

Link to this sectionاستخدام أداة محفوظة#

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

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

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

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

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

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

Link to this sectionاستئناف عملية تدريب#

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

يحتوي مسار التشغيل على التنسيق التالي comet://<your workspace name>/<your project name>/<experiment id>.

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

python train.py \
  --resume "comet://<your run path>"

Link to this sectionالبحث عن المعلمات الفائقة مع مُحسِّن Comet#

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

Link to this sectionتكوين مسح المُحسِّن#

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

تم توفير ملف مثال في utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

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

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Link to this sectionتشغيل مسح بالتوازي#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

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

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

Link to this sectionابقَ على تواصل#

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

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

Explore solutions

Real-time AI that works with your team

الذكاء الاصطناعي في الروبوتات

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. تُمكّن الرؤية بالذكاء الاصطناعي فحص الطرود، والفرز، وتتبع المركبات، ومراقبة السلامة في المستودعات في الوقت الفعلي.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التجزئة

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الرعاية الصحية

قم ببناء حلول الرعاية الصحية مع نماذج Ultralytics YOLO. يعمل الذكاء الاصطناعي البصري في الرعاية الصحية على تعزيز سرعة التصوير الطبي، والتشخيص الأكثر ذكاءً، ومراقبة المرضى.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التصنيع

حسّن عمليات التصنيع باستخدام نماذج Ultralytics YOLO. تقود الرؤية بالذكاء الاصطناعي مراقبة الجودة، واكتشاف العيوب، والامتثال لمعدات الوقاية الشخصية (PPE)، وأتمتة خطوط التجميع.

اعرف المزيد
Real-time AI that works with your operation

الذكاء الاصطناعي في مجال السيارات

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

اعرف المزيد
Real-time AI tailored to your operation

الذكاء الاصطناعي في الزراعة

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الروبوتات

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. تُمكّن الرؤية بالذكاء الاصطناعي فحص الطرود، والفرز، وتتبع المركبات، ومراقبة السلامة في المستودعات في الوقت الفعلي.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التجزئة

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الرعاية الصحية

قم ببناء حلول الرعاية الصحية مع نماذج Ultralytics YOLO. يعمل الذكاء الاصطناعي البصري في الرعاية الصحية على تعزيز سرعة التصوير الطبي، والتشخيص الأكثر ذكاءً، ومراقبة المرضى.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التصنيع

حسّن عمليات التصنيع باستخدام نماذج Ultralytics YOLO. تقود الرؤية بالذكاء الاصطناعي مراقبة الجودة، واكتشاف العيوب، والامتثال لمعدات الوقاية الشخصية (PPE)، وأتمتة خطوط التجميع.

اعرف المزيد
Real-time AI that works with your operation

الذكاء الاصطناعي في مجال السيارات

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

اعرف المزيد
Real-time AI tailored to your operation

الذكاء الاصطناعي في الزراعة

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الروبوتات

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. تُمكّن الرؤية بالذكاء الاصطناعي فحص الطرود، والفرز، وتتبع المركبات، ومراقبة السلامة في المستودعات في الوقت الفعلي.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التجزئة

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

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في الرعاية الصحية

قم ببناء حلول الرعاية الصحية مع نماذج Ultralytics YOLO. يعمل الذكاء الاصطناعي البصري في الرعاية الصحية على تعزيز سرعة التصوير الطبي، والتشخيص الأكثر ذكاءً، ومراقبة المرضى.

اعرف المزيد
Real-time AI that works with your team

الذكاء الاصطناعي في التصنيع

حسّن عمليات التصنيع باستخدام نماذج Ultralytics YOLO. تقود الرؤية بالذكاء الاصطناعي مراقبة الجودة، واكتشاف العيوب، والامتثال لمعدات الوقاية الشخصية (PPE)، وأتمتة خطوط التجميع.

اعرف المزيد
Real-time AI that works with your operation

الذكاء الاصطناعي في مجال السيارات

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

اعرف المزيد
Real-time AI tailored to your operation

الذكاء الاصطناعي في الزراعة

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

اعرف المزيد

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

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