تخطي إلى المحتوى

إنشاء الحد الأدنى من الأمثلة القابلة للتكرار لتقارير الأخطاء في مستودعات Ultralytics YOLO

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

1. عزل المشكلة

الخطوة الأولى في إنشاء MRE هي عزل المشكلة. قم بإزالة أي كود أو تبعيات غير ضرورية غير مرتبطة مباشرة بالمشكلة. ركز على الجزء المحدد من الشيفرة البرمجية التي تسبب المشكلة وقم بإزالة أي أقسام غير ذات صلة.

2. استخدام النماذج ومجموعات البيانات العامة

عند إنشاء MRE، استخدم النماذج ومجموعات البيانات المتاحة للجمهور لإعادة إنتاج المشكلة. على سبيل المثال، استخدم yolov8n.pt ونموذج coco8.yaml مجموعة البيانات. يضمن ذلك أن يتمكن المشرفون والمساهمون من تشغيل المثال الخاص بك بسهولة والتحقق من المشكلة دون الحاجة إلى الوصول إلى بيانات الملكية أو النماذج المخصصة.

3. تضمين جميع التبعيات الضرورية

تأكد من تضمين جميع التبعيات الضرورية في MRE الخاص بك. إذا كانت شفرتك البرمجية تعتمد على مكتبات خارجية، حدد الحزم المطلوبة وإصداراتها. من الناحية المثالية، أدرج التبعيات في تقرير الأخطاء الخاص بك باستخدام yolo checks إذا كان لديك ultralytics مثبتة أو pip list لأدوات أخرى.

4. اكتب وصفاً واضحاً للمشكلة

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

5. تنسيق الكود الخاص بك بشكل صحيح

قم بتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح باستخدام كتل التعليمات البرمجية في وصف المشكلة. هذا يسهل على الآخرين قراءة التعليمات البرمجية الخاصة بك وفهمها. في GitHub، يمكنك إنشاء كتلة كود في GitHub عن طريق تغليف الكود الخاص بك بعلامات خلفية، ثلاثية (\'') وتحديد اللغة:

```python
# Your Python code goes here
```

6. اختبر وجبتك الجاهزة للأكل

قبل إرسال نموذج MRE الخاص بك، اختبره للتأكد من أنه يعيد إنتاج المشكلة بدقة. تأكد من أن الآخرين يمكنهم تشغيل المثال الخاص بك دون أي مشاكل أو تعديلات.

مثال لوجبة جاهزة للاستخدام

فيما يلي مثال لتقرير خطأ افتراضي لتقرير خطأ افتراضي:

وصف الخلل:

عند تشغيل الاستدلال على صورة ذات قناة 0، أحصل على خطأ يتعلق بأبعاد المدخلات tensor.

MRE

import torch

from ultralytics import YOLO

# Load the model
model = YOLO("yolov8n.pt")

# Load a 0-channel image
image = torch.rand(1, 0, 640, 640)

# Run the model
results = model(image)

رسالة الخطأ:

RuntimeError: Expected input[1, 0, 640, 640] to have 3 channels, but got 0 channels instead

التبعيات:

  • torch==2.3.0
  • ultralytics==8.2.0

في هذا المثال، يوضح MRE المشكلة بأقل قدر من التعليمات البرمجية، ويستخدم نموذجًا عامًا ("yolov8n.pt")، ويتضمن جميع التبعيات اللازمة، ويوفر وصفًا واضحًا للمشكلة مع رسالة الخطأ.

من خلال اتباع هذه الإرشادات، ستساعد المشرفين والمساهمين في مستودعات Ultralytics YOLO على فهم مشكلتك وحلها بكفاءة أكبر.

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

كيف يمكنني إنشاء مثال فعال للحد الأدنى من الأمثلة القابلة للتكرار (MRE) لتقارير الأخطاء في مستودعات Ultralytics YOLO ؟

لإنشاء مثال فعال للحد الأدنى من الأمثلة القابلة للتكرار (MRE) لتقارير الأخطاء في مستودعات Ultralytics YOLO اتبع الخطوات التالية:

  1. اعزل المشكلة: قم بإزالة أي تعليمات برمجية أو تبعيات غير مرتبطة مباشرة بالمشكلة.
  2. استخدام النماذج ومجموعات البيانات العامة: الاستفادة من الموارد العامة مثل yolov8n.pt و coco8.yaml لسهولة التكرار.
  3. تضمين جميع التبعيات الضرورية: تحديد الحزم المطلوبة وإصداراتها. يمكنك سرد التبعيات باستخدام yolo checks إذا كان لديك ultralytics مثبتة أو pip list.
  4. اكتب وصفًا واضحًا للمشكلة: اشرح السلوك المتوقع والسلوك الفعلي، بما في ذلك أي رسائل أو سجلات خطأ.
  5. نسق شفرتك البرمجية بشكل صحيح: استخدم كتل التعليمات البرمجية لتنسيق التعليمات البرمجية الخاصة بك، مما يسهل قراءتها.
  6. اختبر MRE الخاص بك: تأكد من أن MRE الخاص بك يعيد إنتاج المشكلة دون تعديلات.

للاطلاع على دليل مفصل، راجع إنشاء الحد الأدنى من الأمثلة القابلة للتكرار.

لماذا يجب أن أستخدم النماذج ومجموعات البيانات المتاحة للجمهور في MRE الخاص بي في تقارير الأخطاء Ultralytics YOLO ؟

يضمن استخدام النماذج ومجموعات البيانات المتاحة للجمهور في MRE الخاص بك أن يتمكن المشرفون من تشغيل نموذجك بسهولة دون الحاجة إلى الوصول إلى بيانات الملكية. يتيح ذلك حل المشكلات بشكل أسرع وأكثر كفاءة. على سبيل المثال، استخدام yolov8n.pt النموذج و coco8.yaml تساعد مجموعة البيانات في توحيد وتبسيط عملية التصحيح. تعرف على المزيد حول النماذج ومجموعات البيانات العامة في استخدام النماذج ومجموعات البيانات العامة القسم.

ما هي المعلومات التي يجب أن أدرجها في تقريري عن الأخطاء Ultralytics YOLO ؟

يجب أن يتضمن تقرير الأخطاء الشامل لـ Ultralytics YOLO تقريراً شاملاً عن الأخطاء

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

للحصول على قائمة مراجعة كاملة، راجع قسم كتابة وصف واضح للمشكلة.

كيف يمكنني تنسيق التعليمات البرمجية الخاصة بي بشكل صحيح عند إرسال تقرير خطأ على GitHub؟

لتنسيق الكود الخاص بك بشكل صحيح عند إرسال تقرير خطأ على GitHub:

  • استخدم العلامات الخلفية الثلاثية ('''') لإنشاء كتل التعليمات البرمجية.
  • حدد لغة البرمجة لتمييز بناء الجملة، على سبيل المثال، ''python.
  • تأكد من أن التعليمات البرمجية الخاصة بك ذات مسافة بادئة صحيحة لسهولة القراءة.

مثال على ذلك:

```python
# Your Python code goes here
```

للمزيد من النصائح حول تنسيق التعليمات البرمجية، راجع تنسيق التعليمات البرمجية بشكل صحيح.

ما هي بعض الأخطاء الشائعة التي يجب التحقق منها قبل إرسال تقرير الأخطاء MRE الخاص بي للإبلاغ عن الأخطاء؟

قبل تقديم الوجبات الجاهزة للاستخدام، تأكد من:

  • تحقق من أن المشكلة قابلة للتكرار.
  • تأكد من أن جميع التبعيات مدرجة وصحيحة.
  • أزل أي كود غير ضروري.
  • اختبر MRE للتأكد من أنه يعيد إنتاج المشكلة دون تعديلات.

للحصول على قائمة مراجعة مفصلة، تفضل بزيارة قسم اختبار وجباتك الجاهزة للأطعمة الجاهزة للأ كل.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 شهر

التعليقات