انتقل إلى المحتوى

إنشاء مثال الحد الأدنى القابل للتكرار لتقارير الأخطاء في 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 ، يمكنك إنشاء كتلة تعليمات برمجية عن طريق التفاف التعليمات البرمجية الخاصة بك بعلامات خلفية ثلاثية (''') وتحديد اللغة:

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

6. اختبار التصوير بالإلستوجرافي بمخاطر الألغام

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

مثال على التصوير بمخاطر الألغام

فيما يلي مثال على التصوير بالرنين المغناطيسي لتقرير خطأ افتراضي:

وصف الخطأ:

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

ميرس:

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 للتأكد من أنه يعيد إنتاج المشكلة دون تعديلات.

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



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-04
المؤلفون: glenn-jocher (4)، IvorZhu331 (1)

التعليقات