الارتقاء بتدريب YOLO26: بسّط عملية التسجيل باستخدام Comet#
يُعد تسجيل تفاصيل التدريب الرئيسية، مثل المعلمات والمقاييس وتوقعات الصور ونقاط تحقق النموذج، أمرًا أساسيًا في تعلّم الآلة—فهو يحافظ على شفافية مشروعك، ويجعل تقدمك قابلًا للقياس، ونتائجك قابلة للتكرار.
شاهد: كيفية استخدام Comet لتسجيل سجلات تدريب نماذج Ultralytics YOLO ومقاييسها 🚀
يتكامل Ultralytics YOLO26 بسلاسة مع Comet (المعروفة سابقًا باسم Comet ML)، ويلتقط بكفاءة كل جوانب عملية تدريب نموذج YOLO26 لـاكتشاف الكائنات ويحسّنها. سنتناول في هذا الدليل عملية التثبيت، وإعداد Comet، والرؤى الآنية، والتسجيل المخصص، والاستخدام دون اتصال، لضمان توثيق تدريب YOLO26 بالكامل وضبطه بدقة لتحقيق نتائج متميزة.
Comet#
Comet منصة لتتبع نماذج تعلّم الآلة وتجاربها ومقارنتها وشرحها وتحسينها. تتيح لك تسجيل المقاييس والمعلمات والوسائط وغيرها أثناء تدريب النموذج، ومراقبة تجاربك من خلال واجهة ويب أنيقة. تساعد Comet علماء البيانات على التكرار بوتيرة أسرع، وتعزز الشفافية وقابلية إعادة الإنتاج، وتدعم تطوير نماذج جاهزة للإنتاج.
الاستفادة من إمكانات YOLO26 وComet#
يتيح لك الجمع بين Ultralytics YOLO26 وComet الاستفادة من مجموعة من المزايا. وتشمل هذه المزايا تبسيط إدارة التجارب، والحصول على رؤى آنية لإجراء تعديلات سريعة، والاستفادة من خيارات تسجيل مرنة ومخصصة، وإمكانية تسجيل التجارب دون اتصال بالإنترنت عند محدودية الوصول إليه. يمكّنك هذا الدمج من اتخاذ قرارات مستندة إلى البيانات، وتحليل مقاييس الأداء، وتحقيق نتائج استثنائية.
التثبيت#
لتثبيت الحزم المطلوبة، شغّل:
# Install YOLO26 and Comet
pip install ultralytics comet_mlتهيئة Comet#
بعد تثبيت الحزم المطلوبة، ستحتاج إلى إنشاء حساب والحصول على مفتاح API من Comet وتهيئته.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYبعد ذلك، سجّل الدخول إلى Comet. تنشئ دالة رد النداء في Ultralytics التجربة، وتستخدم وسيطة تدريب YOLO project اسمًا لمشروع Comet.
import comet_ml
comet_ml.login()إذا كنت تستخدم دفتر ملاحظات Google Colab، فسيطلب منك الرمز أعلاه إدخال مفتاح API لتهيئته.
الاستخدام#
قبل التعمق في تعليمات الاستخدام، احرص على الاطلاع على مجموعة نماذج YOLO26 التي تقدمها Ultralytics. سيساعدك ذلك على اختيار النموذج الأنسب لمتطلبات مشروعك.
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 تجربة في مساحة عمل Comet لتتبع عملية التشغيل تلقائيًا. بعد ذلك، سيُتاح لك رابط لعرض التسجيل المفصل لعملية تدريب نموذج YOLO26.
تسجل Comet البيانات التالية تلقائيًا دون الحاجة إلى أي إعداد إضافي: المقاييس مثل mAP والخسارة، والمعلمات الفائقة، ونقاط تحقق النموذج، ومصفوفة الالتباس التفاعلية، وتوقعات المربعات المحيطة في الصور.
فهم أداء نموذجك من خلال تصورات Comet#
لنلقِ نظرة على ما ستراه في لوحة معلومات Comet عندما يبدأ تدريب نموذج YOLO26. تعرض لوحة المعلومات كل ما يجري، وتقدم مجموعة من المعلومات المسجلة تلقائيًا عبر الرسوم المرئية والإحصاءات. إليك جولة سريعة:
لوحات التجارب
ينظم قسم لوحات التجارب في لوحة معلومات Comet عمليات التشغيل المختلفة ومقاييسها ويعرضها، مثل خسارة قناع التجزئة، وخسارة الفئات، والاستدعاء، ومتوسط الدقة.
المقاييس
في قسم المقاييس، يمكنك أيضًا فحص المقاييس بتنسيق جدولي، إذ تُعرض في لوحة مخصصة كما هو موضح هنا.
مصفوفة الالتباس التفاعلية
تتيح مصفوفة الالتباس، الموجودة في علامة تبويب مصفوفة الالتباس، طريقة تفاعلية لتقييم دقة تصنيف النموذج. وتفصّل التوقعات الصحيحة والخاطئة، ما يساعدك على فهم نقاط قوة النموذج وضعفه.
مقاييس النظام
تسجل Comet مقاييس النظام للمساعدة في تحديد أي اختناقات في عملية التدريب. وتشمل مقاييس مثل استخدام GPU، واستخدام ذاكرة GPU، واستخدام CPU، واستخدام RAM. وتُعد هذه المقاييس ضرورية لمراقبة كفاءة استخدام الموارد أثناء تدريب النموذج.
تخصيص تسجيل Comet#
تتيح Comet تخصيص سلوك التسجيل من خلال تعيين متغيرات البيئة. تسمح لك هذه الإعدادات بتكييف Comet وفق احتياجاتك وتفضيلاتك المحددة. تقرأ دالة رد النداء في Ultralytics متغيرات البيئة التالية (عيّنها قبل بدء التدريب):
| متغير البيئة | الافتراضي | الوصف |
|---|---|---|
COMET_START_ONLINE | 1 | شغّل التجربة في الوضع المتصل (1) أو دون اتصال (0). |
COMET_PROJECT_NAME | args.project | مشروع مساحة عمل Comet. يعود إلى وسيطة تدريب YOLO project إذا لم تُعيّن قيمة للمتغير. |
COMET_MODEL_NAME | Ultralytics | الاسم المسجل لعنصر النموذج المسجل. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | إجمالي عدد توقعات صور التحقق المراد تسجيلها في كل عملية تشغيل. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | سجّل توقعات الصور مع كل دفعة تحقق رقم N. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | فعّل تسجيل توقعات الصور (true) أو عطّله (false). |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | سجّل مصفوفة الالتباس في كل حقبة تحقق. ويُسجّل مصفوفة نهائية دائمًا عند انتهاء التدريب. |
COMET_MAX_CONFIDENCE_SCORE | 100.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 (افتراضي) = متصل، 0 = دون اتصالاستخدمت الإصدارات السابقة 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" # سجّل الدرجات الخام [0, 1]الملخص#
أرشدك هذا الدليل خلال عملية دمج Comet مع YOLO26 من Ultralytics. وتعلمت، بدءًا من التثبيت ووصولًا إلى التخصيص، كيفية تبسيط إدارة التجارب، والحصول على رؤى آنية، وتكييف التسجيل مع احتياجات مشروعك.
اطّلع على وثائق الدمج الرسمية لـ YOLOv8 مع Comet، التي تنطبق أيضًا على مشاريع YOLO26.
بالإضافة إلى ذلك، إذا كنت ترغب في التعمق في التطبيقات العملية لـ YOLO26، وتحديدًا في مهام تجزئة الصور، فإن هذا الدليل المفصل حول الضبط الدقيق لـ YOLO26 باستخدام Comet يقدم رؤى قيّمة وتعليمات خطوة بخطوة لتحسين أداء نموذجك.
بالإضافة إلى ذلك، لاستكشاف عمليات دمج أخرى مع Ultralytics، اطّلع على صفحة دليل عمليات الدمج، التي توفر مجموعة كبيرة من الموارد والمعلومات.
الأسئلة الشائعة#
لدمج Comet مع Ultralytics YOLO26، اتبع الخطوات التالية:
-
ثبّت الحزم المطلوبة:
pip install ultralytics comet_ml -
أعدّ مفتاح API الخاص بك في Comet:
export COMET_API_KEY=YOUR_API_KEY -
سجّل الدخول إلى Comet في رمز Python:
import comet_ml comet_ml.login() -
درّب نموذج 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"السابق يعمل، لكنه يصدر تحذيرًا بشأن إهماله. لمزيد من التفاصيل، راجع قسم وضع الاتصال ووضع عدم الاتصال.