Link to this sectionالارتقاء بتدريب YOLO26: بسّط عملية التسجيل (Logging) الخاصة بك باستخدام Comet#
يعد تسجيل تفاصيل التدريب الرئيسية مثل المعلمات، والمقاييس، وتوقعات الصور، ونقاط حفظ النماذج (checkpoints) أمراً أساسياً في تعلم الآلة؛ فهو يجعل مشروعك شفافاً، وتقدمك قابلاً للقياس، ونتائجك قابلة للتكرار.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
يتكامل Ultralytics YOLO26 بسلاسة مع Comet (المعروفة سابقاً باسم Comet ML)، حيث يقوم بالتقاط وتحسين كل جانب من جوانب عملية تدريب نموذج اكتشاف الكائنات الخاص بك في YOLO26 بكفاءة. في هذا الدليل، سنغطي عملية التثبيت، وإعداد Comet، والرؤى الفورية، والتسجيل المخصص، والاستخدام دون اتصال بالإنترنت، مما يضمن توثيق تدريب YOLO26 الخاص بك بدقة وضبطه للحصول على نتائج متميزة.
Link to this sectionComet#
Comet هي منصة لتتبع ومقارنة وشرح وتحسين نماذج وتجارب تعلم الآلة. فهي تتيح لك تسجيل المقاييس والمعلمات والوسائط والمزيد أثناء تدريب نموذجك ومراقبة تجاربك من خلال واجهة ويب جذابة بصرياً. تساعد Comet علماء البيانات على التكرار بسرعة أكبر، وتعزز الشفافية وقابلية التكرار، وتساعد في تطوير نماذج الإنتاج.
Link to this sectionتسخير قوة YOLO26 و Comet#
من خلال الجمع بين Ultralytics YOLO26 و Comet، يمكنك فتح مجموعة من المزايا. وتشمل هذه المزايا إدارة مبسطة للتجارب، ورؤى فورية لإجراء تعديلات سريعة، وخيارات تسجيل مرنة ومخصصة، والقدرة على تسجيل التجارب دون اتصال بالإنترنت عندما يكون الوصول إلى الإنترنت محدوداً. يُمكّنك هذا التكامل من اتخاذ قرارات مبنية على البيانات، وتحليل مقاييس الأداء، وتحقيق نتائج استثنائية.
Link to this sectionالتثبيت#
لتثبيت الحزم المطلوبة، قم بتشغيل:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionLink to this sectionتهيئة Comet#
بعد تثبيت الحزم المطلوبة، ستحتاج إلى التسجيل والحصول على مفتاح واجهة برمجة تطبيقات Comet (Comet API Key) وتهيئته.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYبعد ذلك، يمكنك تهيئة مشروع Comet الخاص بك. ستقوم Comet باكتشاف مفتاح API تلقائياً والمتابعة مع الإعداد.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")إذا كنت تستخدم مفكرة Google Colab، سيطالبك الكود أعلاه بإدخال مفتاح API الخاص بك للتهيئة.
Link to this sectionالاستخدام#
قبل الغوص في تعليمات الاستخدام، تأكد من الاطلاع على مجموعة نماذج 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 والخسارة (loss)، والمعلمات الفائقة (hyperparameters)، ونقاط حفظ النماذج، ومصفوفة الارتباك (confusion matrix) التفاعلية، وتوقعات المربع المحيط (bounding box) للصور.
Link to this sectionفهم أداء نموذجك باستخدام تصورات Comet#
لنغص فيما ستراه على لوحة تحكم Comet بمجرد بدء تدريب نموذج YOLO26 الخاص بك. لوحة التحكم هي المكان الذي يحدث فيه كل شيء، حيث تعرض مجموعة من المعلومات المسجلة تلقائياً من خلال المرئيات والإحصائيات. إليك جولة سريعة:
لوحات التجارب (Experiment Panels)
ينظم قسم لوحات التجارب في لوحة تحكم Comet ويعرض عمليات التشغيل المختلفة ومقاييسها، مثل خسارة قناع القطع (segment mask loss)، وخسارة الفئة (class loss)، والدقة، ومتوسط دقة التنبؤ (mean average precision).
المقاييس (Metrics)
في قسم المقاييس، لديك خيار فحص المقاييس بتنسيق جدولي أيضاً، والذي يتم عرضه في جزء مخصص كما هو موضح هنا.
مصفوفة الارتباك (Confusion Matrix) التفاعلية
توفر مصفوفة الارتباك، الموجودة في علامة التبويب Confusion Matrix، طريقة تفاعلية لتقييم دقة تصنيف النموذج. وهي توضح بالتفصيل التوقعات الصحيحة وغير الصحيحة، مما يسمح لك بفهم نقاط قوة النموذج ونقاط ضعفه.
مقاييس النظام
تسجل Comet مقاييس النظام للمساعدة في تحديد أي اختناقات في عملية التدريب. وهي تتضمن مقاييس مثل استخدام GPU، واستخدام ذاكرة GPU، واستخدام CPU، واستخدام RAM. هذه المقاييس ضرورية لمراقبة كفاءة استخدام الموارد أثناء تدريب النموذج.
Link to this sectionتخصيص تسجيل 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 | إجمالي عدد توقعات صور التحقق من الصحة (validation) المراد تسجيلها لكل تشغيل. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | تسجيل توقعات الصور في كل دفعة (batch) تحقق رقم N. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | تبديل تسجيل توقعات الصور على (true) أو إيقاف (false). |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | تسجيل مصفوفة الارتباك في كل حقبة (epoch) تحقق. يتم دائماً تسجيل مصفوفة نهائية في نهاية التدريب. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | مضاعف يتم تطبيقه على درجات ثقة الكشف قبل التسجيل (تتوقع واجهة المستخدم الخاصة بـ Comet مقياس النسبة المئوية). |
COMET_MODE (مهمل) | online | اسم مستعار قديم لـ COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). يصدر تحذيراً بالإهمال. |
Link to this sectionتسجيل توقعات الصور#
يمكنك التحكم في عدد توقعات الصور التي تسجلها 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"Link to this sectionفاصل تسجيل الدفعات#
تسمح لك Comet بتحديد عدد مرات تسجيل دفعات توقعات الصور. يتحكم متغير البيئة COMET_EVAL_BATCH_LOGGING_INTERVAL في هذا التردد. الإعداد الافتراضي هو 1، والذي يسجل التوقعات من كل دفعة تحقق. يمكنك ضبط هذه القيمة لتسجيل التوقعات بفاصل زمني مختلف. على سبيل المثال، سيؤدي تعيينها إلى 4 إلى تسجيل التوقعات من كل دفعة رابعة.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Link to this sectionتعطيل تسجيل مصفوفة الارتباك#
في بعض الحالات، قد لا ترغب في تسجيل مصفوفة الارتباك من مجموعة التحقق من الصحة بعد كل حقبة (epoch). يمكنك تعطيل هذه الميزة عن طريق تعيين متغير البيئة COMET_EVAL_LOG_CONFUSION_MATRIX إلى "false". سيتم تسجيل مصفوفة الارتباك مرة واحدة فقط، بعد اكتمال التدريب.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Link to this sectionالوضع المتصل وغير المتصل#
بشكل افتراضي، تعمل Comet في الوضع المتصل وتقوم ببث بيانات التجربة إلى خوادم Comet. إذا كنت بحاجة إلى التدريب بدون الوصول إلى الإنترنت، فقم بتعيين COMET_START_ONLINE=0 قبل بدء التدريب. يتم حفظ بيانات التجربة محلياً ويمكن تحميلها لاحقاً باستخدام واجهة سطر الأوامر (CLI) comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineاستخدمت الإصدارات السابقة COMET_MODE="offline" لهذا الغرض. لا يزال المتغير معتمداً للتوافق مع الإصدارات السابقة ولكنه يصدر تحذيراً بالإهمال. استخدم COMET_START_ONLINE للمضي قدماً.
Link to this sectionاسم المشروع#
افتراضياً، يمرر استدعاء Comet وسيطة تدريب YOLO project إلى Comet (أو None عند عدم تعيين الوسيطة، وفي هذه الحالة تستخدم Comet الافتراضي لمساحة العمل الخاصة بك). قم بتجاوز هذا باستخدام COMET_PROJECT_NAME لإرسال جميع التجارب إلى مشروع مساحة عمل Comet محدد بغض النظر عن وسيطة تدريب YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this sectionاسم أداة النموذج#
يحدد COMET_MODEL_NAME الاسم الذي تسجله Comet لأداة النموذج المسجل (الافتراضي هو Ultralytics). استخدمه لتمييز متغيرات النموذج في مساحة عمل مشتركة:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this sectionتوسيع درجة الثقة#
يتم إصدار درجات ثقة الكشف في النطاق [0, 1]، ولكن تعرض واجهة مستخدم Comet هذه الدرجات على مقياس النسبة المئوية افتراضياً. يقوم الاستدعاء بضرب كل درجة في COMET_MAX_CONFIDENCE_SCORE (الافتراضي 100.0) قبل التسجيل. قم بضبط هذا إذا كنت تفضل الاحتمالات الأولية أو مقياساً مختلفاً:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresLink to this sectionملخص#
لقد أرشدك هذا الدليل خلال دمج Comet مع Ultralytics YOLO26. من التثبيت إلى التخصيص، تعلمت تبسيط إدارة التجارب، واكتساب رؤى فورية، وتكييف التسجيل مع احتياجات مشروعك.
استكشف وثائق تكامل YOLOv8 الرسمية لـ Comet، والتي تنطبق أيضاً على مشاريع YOLO26.
علاوة على ذلك، إذا كنت تتطلع إلى التعمق في التطبيقات العملية لـ YOLO26، خاصة لمهام تجزئة الصور (image segmentation)، فإن هذا الدليل التفصيلي حول ضبط YOLO26 باستخدام Comet يقدم رؤى قيمة وتعليمات خطوة بخطوة لتعزيز أداء نموذجك.
بالإضافة إلى ذلك، لاستكشاف تكاملات أخرى مثيرة مع Ultralytics، تحقق من صفحة دليل التكامل، التي تقدم ثروة من الموارد والمعلومات.
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف أقوم بدمج Comet مع Ultralytics YOLO26 للتدريب؟#
لدمج Comet مع Ultralytics YOLO26، اتبع الخطوات التالية:
-
تثبيت الحزم المطلوبة:
pip install ultralytics comet_ml torch torchvision -
إعداد مفتاح Comet API الخاص بك:
export COMET_API_KEY=YOUR_API_KEY -
تهيئة مشروع Comet الخاص بك في كود Python الخاص بك:
import comet_ml comet_ml.login(project_name="comet-example-yolo26-coco128") -
تدريب نموذج 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.
Link to this sectionما هي فوائد استخدام Comet مع YOLO26؟#
من خلال دمج Ultralytics YOLO26 مع Comet، يمكنك:
- مراقبة الرؤى الفورية: احصل على ملاحظات فورية حول نتائج تدريبك، مما يسمح بإجراء تعديلات سريعة.
- تسجيل مقاييس شاملة: التقط تلقائياً المقاييس الأساسية مثل mAP، والخسارة (loss)، والمعلمات الفائقة، ونقاط حفظ النماذج.
- تتبع التجارب دون اتصال بالإنترنت: سجل عمليات تدريبك محلياً عندما لا يكون الوصول إلى الإنترنت متاحاً.
- مقارنة عمليات التدريب المختلفة: استخدم لوحة تحكم Comet التفاعلية لتحليل ومقارنة تجارب متعددة.
من خلال الاستفادة من هذه الميزات، يمكنك تحسين سير عمل تعلم الآلة الخاص بك للحصول على أداء وقابلية تكرار أفضل. لمزيد من المعلومات، قم بزيارة دليل تكامل Comet.
Link to this sectionكيف يمكنني تخصيص سلوك التسجيل لـ Comet أثناء تدريب YOLO26؟#
تسمح 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 للحصول على القائمة الكاملة، بما في ذلك تبديلات توقعات الصور، وتوسيع درجات الثقة، والوضع المتصل/غير المتصل.
Link to this sectionكيف يمكنني عرض المقاييس التفصيلية وتصورات تدريب YOLO26 الخاص بي على Comet؟#
بمجرد بدء تدريب نموذج YOLO26 الخاص بك، يمكنك الوصول إلى مجموعة واسعة من المقاييس والتصورات على لوحة تحكم Comet. الميزات الرئيسية تشمل:
- لوحات التجارب: عرض عمليات التشغيل المختلفة ومقاييسها، بما في ذلك خسارة قناع القطع، وخسارة الفئة، ومتوسط دقة التنبؤ.
- المقاييس: فحص المقاييس بتنسيق جدولي لتحليل مفصل.
- مصفوفة الارتباك التفاعلية: تقييم دقة التصنيف باستخدام مصفوفة ارتباك تفاعلية.
- مقاييس النظام: مراقبة استخدام GPU و CPU، واستخدام الذاكرة، ومقاييس النظام الأخرى.
للحصول على نظرة عامة مفصلة على هذه الميزات، قم بزيارة قسم فهم أداء نموذجك باستخدام تصورات Comet.
Link to this sectionهل يمكنني استخدام Comet للتسجيل دون اتصال عند تدريب نماذج YOLO26؟#
نعم. قم بتعيين COMET_START_ONLINE=0 قبل بدء التدريب للتسجيل محلياً:
import os
os.environ["COMET_START_ONLINE"] = "0"يتم حفظ بيانات التجربة على القرص ويمكن تحميلها إلى Comet لاحقاً باستخدام واجهة سطر الأوامر (CLI) comet upload عند توفر الاتصال. لا يزال متغير COMET_MODE="offline" السابق يعمل ولكنه يصدر تحذيراً بالإهمال. لمزيد من التفاصيل، راجع قسم الوضع المتصل وغير المتصل.