Ultralytics YOLO27:

الارتقاء بتدريب YOLO26: بسّط عملية التسجيل باستخدام Comet#

يُعد تسجيل تفاصيل التدريب الأساسية، مثل المعلمات والمقاييس وتنبؤات الصور ونقاط حفظ النموذج، أمرًا ضروريًا في التعلّم الآلي—فهو يحافظ على شفافية مشروعك، ويجعل تقدمك قابلًا للقياس، ويضمن قابلية تكرار نتائجك.



Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀

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

Comet#

Comet ML experiment tracking dashboard

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

تسخير قوة YOLO26 وComet#

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

التثبيت#

لتثبيت الحزم المطلوبة، شغّل:

التثبيت
# Install YOLO26 and Comet
pip install ultralytics comet_ml

تهيئة Comet#

بعد تثبيت الحزم المطلوبة، ستحتاج إلى إنشاء حساب، والحصول على مفتاح Comet API، ثم تهيئته.

تهيئة Comet
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY

بعد ذلك، صادِق باستخدام Comet. تنشئ دالة الاستدعاء الخاصة بـ Ultralytics التجربة، وتستخدم وسيطة التدريب project الخاصة بـ YOLO اسمًا لمشروع Comet.

تهيئة مشروع Comet
import comet_ml

comet_ml.login()

إذا كنت تستخدم دفتر Google Colab، فستطالبك الشفرة أعلاه بإدخال مفتاح API الخاص بك لإجراء التهيئة.

الاستخدام#

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

الاستخدام
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolo26-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

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

تسجل Comet تلقائيًا البيانات التالية دون الحاجة إلى إعداد إضافي: مقاييس مثل mAP والخسارة، والمعلمات الفائقة، ونقاط حفظ النموذج، ومصفوفة الالتباس التفاعلية، وتنبؤات الصور التي تتضمن المربعات المحيطة.

فهم أداء نموذجك باستخدام تصورات Comet#

دعونا نلقِ نظرة على ما ستراه في لوحة معلومات Comet بمجرد بدء تدريب نموذج YOLO26. لوحة المعلومات هي المكان الذي تجري فيه جميع العمليات، إذ تعرض مجموعة من المعلومات المسجلة تلقائيًا من خلال المرئيات والإحصاءات. إليك جولة سريعة:

لوحات التجارب

ينظم قسم لوحات التجارب في لوحة معلومات Comet عمليات التشغيل المختلفة ومقاييسها ويعرضها، مثل خسارة قناع التجزئة، وخسارة الفئة، والدقة، ومتوسط الدقة.

Comet ML experiment tracking dashboard

المقاييس

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

Comet ML experiment tracking dashboard

مصفوفة الالتباس التفاعلية

توفر مصفوفة الالتباس، الموجودة في علامة تبويب مصفوفة الالتباس، طريقة تفاعلية لتقييم دقة تصنيف النموذج. وتفصّل التنبؤات الصحيحة وغير الصحيحة، مما يتيح لك فهم نقاط قوة النموذج ونقاط ضعفه.

Comet ML experiment tracking dashboard

مقاييس النظام

تسجل Comet مقاييس النظام للمساعدة في تحديد أي اختناقات في عملية التدريب. وتشمل هذه المقاييس استخدام GPU، واستخدام ذاكرة GPU، واستخدام CPU، واستخدام RAM. وتُعد هذه المقاييس ضرورية لمراقبة كفاءة استخدام الموارد أثناء تدريب النموذج.

Comet ML experiment tracking dashboard

تخصيص تسجيل Comet#

توفر Comet مرونة تخصيص سلوك التسجيل لديها من خلال تعيين متغيرات البيئة. وتتيح لك هذه الإعدادات تكييف Comet وفق احتياجاتك وتفضيلاتك المحددة. تقرأ دالة الاستدعاء الخاصة بـ Ultralytics متغيرات البيئة التالية (عيّنها قبل بدء التدريب):

متغير البيئةالافتراضيالوصف
COMET_START_ONLINE1تشغيل التجربة في الوضع المتصل (1) أو وضع عدم الاتصال (0).
COMET_PROJECT_NAMEargs.projectمشروع مساحة عمل Comet. يعود إلى وسيطة التدريب project الخاصة بـ YOLO عند عدم تعيينه.
COMET_MODEL_NAMEUltralyticsالاسم المسجل لعنصر النموذج المسجل.
COMET_MAX_IMAGE_PREDICTIONS100إجمالي عدد تنبؤات صور التحقق التي يجب تسجيلها لكل عملية تشغيل.
COMET_EVAL_BATCH_LOGGING_INTERVAL1تسجيل تنبؤات الصور كل دفعة تحقق رقم N.
COMET_EVAL_LOG_IMAGE_PREDICTIONStrueتبديل تسجيل تنبؤات الصور إلى التشغيل (true) أو إيقاف التشغيل (false).
COMET_EVAL_LOG_CONFUSION_MATRIXfalseتسجيل مصفوفة التباس في كل حقبة تحقق. تُسجّل مصفوفة نهائية دائمًا عند انتهاء التدريب.
COMET_MAX_CONFIDENCE_SCORE100.0المعامل المطبق على درجات الثقة في الاكتشاف قبل التسجيل (تتوقع واجهة Comet مقياسًا مئويًا).
COMET_MODE (مهجور)onlineاسم مستعار قديم لـ COMET_START_ONLINE ("online"1، "offline"0). ويصدر تحذيرًا بشأن الإهمال.

بالنسبة إلى مفاتيح التبديل المنطقية (COMET_EVAL_LOG_IMAGE_PREDICTIONS وCOMET_EVAL_LOG_CONFUSION_MATRIX)، تُحلَّل القيم 1 وtrue وyes وon وy وt على أنها True (بغض النظر عن حالة الأحرف). وتُعد أي قيمة أخرى False.

تسجيل تنبؤات الصور#

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

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

لتعطيل تسجيل تنبؤات الصور بالكامل (مثلًا لتقليل حجم التحميل في الاتصالات البطيئة)، عيّن COMET_EVAL_LOG_IMAGE_PREDICTIONS إلى "false":

import os

os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"

الفاصل الزمني لتسجيل الدفعات#

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

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

تعطيل تسجيل مصفوفة الالتباس#

في بعض الحالات، قد لا ترغب في تسجيل مصفوفة الالتباس من مجموعة التحقق بعد كل حقبة. ويمكنك تعطيل هذه الميزة بتعيين متغير البيئة COMET_EVAL_LOG_CONFUSION_MATRIX إلى "false". ولن تُسجّل مصفوفة الالتباس إلا مرة واحدة بعد اكتمال التدريب.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

الوضع المتصل ووضع عدم الاتصال#

تعمل Comet افتراضيًا في الوضع المتصل، وتبث بيانات التجربة إلى خوادم Comet. وإذا كنت بحاجة إلى التدريب دون الوصول إلى الإنترنت، فعيّن COMET_START_ONLINE=0 قبل بدء التدريب. تُحفظ بيانات التجربة محليًا، ويمكن تحميلها لاحقًا باستخدام CLI comet upload.

import os

os.environ["COMET_START_ONLINE"] = "0"  # 1 (default) = online, 0 = offline
`COMET_MODE` مهجور

كانت الإصدارات السابقة تستخدم COMET_MODE="offline" لهذا الغرض. ولا يزال المتغير مدعومًا للتوافق مع الإصدارات السابقة، لكنه يصدر تحذيرًا بشأن الإهمال. استخدم COMET_START_ONLINE من الآن فصاعدًا.

اسم المشروع#

يمرر استدعاء Comet افتراضيًا وسيطة التدريب project الخاصة بـ YOLO إلى Comet (أو None عند عدم تعيين الوسيطة، وفي هذه الحالة تستخدم Comet الإعداد الافتراضي لمساحة عملك). تجاوز هذا السلوك باستخدام COMET_PROJECT_NAME لإرسال جميع التجارب إلى مشروع محدد في مساحة عمل Comet، بغض النظر عن وسيطة تدريب YOLO:

import os

os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"

اسم عنصر النموذج#

يعيّن COMET_MODEL_NAME الاسم الذي تسجّل به Comet عنصر النموذج المسجل (الافتراضي هو Ultralytics). استخدمه للتمييز بين متغيرات النموذج في مساحة عمل مشتركة:

import os

os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

تحجيم درجة الثقة#

تُصدر درجات الثقة في الاكتشاف ضمن النطاق [0, 1]، لكن واجهة Comet تعرضها افتراضيًا على مقياس مئوي. تضرب دالة الاستدعاء كل درجة في COMET_MAX_CONFIDENCE_SCORE (الافتراضي 100.0) قبل تسجيلها. اضبط ذلك إذا كنت تفضل الاحتمالات الأولية أو مقياسًا مختلفًا:

import os

os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0"  # log raw [0, 1] scores

الملخص#

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

استكشف وثائق التكامل الرسمية لـ Comet مع YOLOv8، التي تنطبق أيضًا على مشاريع YOLO26.

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

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

الأسئلة الشائعة#

  • لدمج Comet مع Ultralytics YOLO26، اتبع الخطوات التالية:

    1. ثبّت الحزم المطلوبة:

      pip install ultralytics comet_ml
    2. أعد إعداد مفتاح Comet API الخاص بك:

      export COMET_API_KEY=YOUR_API_KEY
    3. صادِق باستخدام Comet في شفرة Python الخاصة بك:

      import comet_ml
      
      comet_ml.login()
    4. درّب نموذج YOLO26 الخاص بك وسجّل المقاييس:

      from ultralytics import YOLO
      
      model = YOLO("yolo26n.pt")
      results = model.train(
          data="coco8.yaml",
          project="comet-example-yolo26-coco128",
          batch=32,
          save_period=1,
          save_json=True,
          epochs=3,
      )

    للحصول على تعليمات أكثر تفصيلًا، راجع قسم تهيئة Comet.

  • من خلال دمج Ultralytics YOLO26 مع Comet، يمكنك:

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

    من خلال الاستفادة من هذه الميزات، يمكنك تحسين سير عمل التعلّم الآلي لديك لتحقيق أداء أفضل وقابلية إعادة إنتاج أعلى. لمزيد من المعلومات، زر دليل تكامل Comet.

  • تتيح Comet تخصيصًا واسعًا لسلوك التسجيل لديها باستخدام متغيرات البيئة:

    • غيّر عدد تنبؤات الصور المسجلة:

      import os
      
      os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    • اضبط الفاصل الزمني لتسجيل الدفعات:

      import os
      
      os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    • عطّل تسجيل مصفوفة الالتباس:

      import os
      
      os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    • عيّن اسم مشروع Comet:

      import os
      
      os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"
    • عيّن اسم عنصر النموذج المسجل:

      import os
      
      os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

    راجع قسم تخصيص تسجيل Comet للاطلاع على القائمة الكاملة، بما في ذلك مفاتيح تبديل تنبؤات الصور، وتحجيم درجات الثقة، والوضع المتصل/وضع عدم الاتصال.

  • بمجرد بدء تدريب نموذج YOLO26 الخاص بك، يمكنك الوصول إلى مجموعة واسعة من المقاييس والتصورات في لوحة معلومات Comet. وتشمل الميزات الأساسية ما يلي:

    • لوحات التجارب: اعرض عمليات التشغيل المختلفة ومقاييسها، بما في ذلك خسارة قناع التجزئة، وخسارة الفئة، ومتوسط الدقة.
    • المقاييس: افحص المقاييس بتنسيق جدولي لإجراء تحليل تفصيلي.
    • مصفوفة الالتباس التفاعلية: قيّم دقة التصنيف باستخدام مصفوفة التباس تفاعلية.
    • مقاييس النظام: راقب استخدام GPU وCPU، واستخدام الذاكرة، ومقاييس النظام الأخرى.

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

  • نعم. عيّن COMET_START_ONLINE=0 قبل بدء التدريب للتسجيل محليًا:

    import os
    
    os.environ["COMET_START_ONLINE"] = "0"

    تُحفظ بيانات التجربة على القرص، ويمكن تحميلها إلى Comet لاحقًا باستخدام CLI comet upload عند توفر الاتصال. ولا يزال متغير COMET_MODE="offline" الأقدم يعمل، لكنه يصدر تحذيرًا بشأن الإهمال. لمزيد من التفاصيل، راجع قسم الوضع المتصل ووضع عدم الاتصال.

التعليقات