رؤية YOLO 2026:

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

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



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

يتكامل Ultralytics YOLO26 بسلاسة مع Comet (المعروفة سابقاً باسم Comet ML)، حيث يلتقط بكفاءة ويحسن كل جانب من جوانب عملية تدريب نموذج object detection الخاص بـ YOLO26. في هذا الدليل، سنغطي عملية التثبيت، وإعداد Comet، والرؤى في الوقت الفعلي، والتسجيل المخصص، والاستخدام دون اتصال بالinternet، مما يضمن توثيق تدريب 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 Key، وتكوينه.

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

بعد ذلك، قم المصادقة مع Comet. ينشئ رد النداء من Ultralytics التجربة ويستخدم وسيط التدريب YOLO project كاسم مشروع 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 model's training.

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

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

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

لوحات التجارب (Experiment Panels)

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

Comet ML experiment tracking dashboard

المقاييس (Metrics)

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

Comet ML experiment tracking dashboard

Confusion Matrix التفاعلية

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

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. يتم الرجوع إليه افتراضياً إلى وسيطة تدريب YOLO project عند عدم التعيين.
COMET_MODEL_NAMEUltralyticsالاسم المسجل لأداة النموذج المسجل.
COMET_MAX_IMAGE_PREDICTIONS100إجمالي عدد توقعات صور التحقق من الصحة (validation) المراد تسجيلها لكل تشغيل.
COMET_EVAL_BATCH_LOGGING_INTERVAL1تسجيل توقعات الصور في كل دفعة (batch) تحقق رقم N.
COMET_EVAL_LOG_IMAGE_PREDICTIONStrueتبديل تسجيل تنبؤات الصور قيد التشغيل (true) أو إيقاف التشغيل (false).
COMET_EVAL_LOG_CONFUSION_MATRIXfalseتسجيل مصفوفة الارتباك في كل حقبة (epoch) تحقق. يتم دائماً تسجيل مصفوفة نهائية في نهاية التدريب.
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"

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

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

import os

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

الوضع المتصل وغير المتصل#

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

import os

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

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

اسم المشروع#

افتراضياً، تمرر ردود نداء Comet وسيطة تدريب YOLO project إلى 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 مع Ultralytics YOLO26. من التثبيت إلى التخصيص، تعلمت تبسيط إدارة التجارب، واكتساب رؤى فورية، وتكييف التسجيل مع احتياجات مشروعك.

استكشف Comet's official YOLOv8 integration documentation، والتي تنطبق أيضاً على مشاريع YOLO26.

علاوة على ذلك، إذا كنت تتطلع إلى التعمق أكثر في التطبيقات العملية لYOLO26، وتحديداً لمهام image segmentation، فإن هذا الدليل المفصل حول fine-tuning YOLO26 with Comet يقدم رؤى قيمة وخطوات تفصيلية لتحسين أداء نموذجك.

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

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

  • لدمج 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 configuration section.

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

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

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

  • تسمح 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"

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

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

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

    للحصول على نظرة عامة تفصيلية على هذه الميزات، تفضل بزيارة قسم Understanding Your Model's Performance with Comet Visualizations.

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

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

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

التعليقات