Link to this sectionإنشاء مثال قابل لإعادة الإنتاج بحد أدنى لتقارير الأخطاء#
عند تقديم تقرير خطأ لمستودعات Ultralytics YOLO، من الضروري تقديم مثال قابل لإعادة الإنتاج بحد أدنى (MRE). إن MRE هو جزء صغير ومستقل من التعليمات البرمجية يوضح المشكلة التي تواجهها. يساعد تقديم MRE القائمين على الصيانة والمساهمين في فهم المشكلة والعمل على إصلاحها بكفاءة أكبر. يشرح هذا الدليل كيفية إنشاء MRE عند إرسال تقارير الأخطاء إلى مستودعات Ultralytics YOLO.
Link to this sectionعزل المشكلة#
الخطوة الأولى في إنشاء MRE هي عزل المشكلة. قم بإزالة أي تعليمات برمجية أو تبعيات غير ضرورية ليست مرتبطة مباشرة بالمشكلة. ركز على الجزء المحدد من التعليمات البرمجية الذي يسبب المشكلة وتخلص من أي أقسام غير ذات صلة.
Link to this sectionاستخدام النماذج ومجموعات البيانات العامة#
عند إنشاء MRE، استخدم نماذج ومجموعات بيانات متاحة للجمهور لإعادة إنتاج المشكلة. على سبيل المثال، استخدم نموذج yolo26n.pt ومجموعة بيانات coco8.yaml. يضمن هذا أن يتمكن القائمون على الصيانة والمساهمون من تشغيل مثالك بسهولة والتحقيق في المشكلة دون الحاجة إلى الوصول إلى بيانات خاصة أو نماذج مخصصة.
Link to this sectionتضمين كافة التبعيات اللازمة#
تأكد من تضمين جميع التبعيات اللازمة في MRE الخاص بك. إذا كانت التعليمات البرمجية الخاصة بك تعتمد على مكتبات خارجية، فحدد الحزم المطلوبة وإصداراتها. من الناحية المثالية، ادرج التبعيات في تقرير الخطأ الخاص بك باستخدام yolo checks إذا كان لديك ultralytics مثبتاً أو pip list للأدوات الأخرى.
Link to this sectionكتابة وصف واضح للمشكلة#
قدّم وصفاً واضحاً وموجزاً للمشكلة التي تواجهها. اشرح السلوك المتوقع والسلوك الفعلي الذي تواجهه. إذا كان ذلك مناسباً، قم بتضمين أي رسائل خطأ أو سجلات ذات صلة.
Link to this sectionتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح#
قم بتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح باستخدام كتل التعليمات البرمجية في وصف المشكلة. هذا يجعل من السهل على الآخرين قراءة وفهم التعليمات البرمجية الخاصة بك. في GitHub، يمكنك إنشاء كتلة تعليمات برمجية عن طريق تغليف الكود بثلاث علامات اقتباس خلفية (```) وتحديد اللغة:
```python
# Your Python code goes here
```Link to this sectionاختبار MRE الخاص بك#
قبل إرسال MRE الخاص بك، اختبره للتأكد من أنه يعيد إنتاج المشكلة بدقة. تأكد من أن الآخرين يمكنهم تشغيل مثالك دون أي مشاكل أو تعديلات.
Link to this sectionمثال على MRE#
إليك مثال على MRE لتقرير خطأ افتراضي:
وصف الخطأ:
عند تشغيل الاستدلال على صورة ذات 0 قناة، أحصل على خطأ يتعلق بأبعاد موتر الإدخال.
MRE:
import torch
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.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.0ultralytics==8.2.0
في هذا المثال، يوضح MRE المشكلة بأقل قدر من التعليمات البرمجية، ويستخدم نموذجاً عاماً ("yolo26n.pt")، ويتضمن كافة التبعيات اللازمة، ويقدم وصفاً واضحاً للمشكلة إلى جانب رسالة الخطأ.
باتباع هذه الإرشادات، ستساعد القائمين على الصيانة والمساهمين في مستودعات Ultralytics YOLO على فهم مشكلتك وحلها بكفاءة أكبر.
Link to this sectionالأسئلة الشائعة#
Link to this sectionكيف يمكنني إنشاء مثال قابل لإعادة الإنتاج بحد أدنى (MRE) فعال لتقارير الأخطاء في مستودعات Ultralytics YOLO؟#
لإنشاء مثال قابل لإعادة الإنتاج بحد أدنى (MRE) فعال لتقارير الأخطاء في مستودعات Ultralytics YOLO، اتبع الخطوات التالية:
- عزل المشكلة: قم بإزالة أي تعليمات برمجية أو تبعيات غير مرتبطة مباشرة بالمشكلة.
- استخدام النماذج ومجموعات البيانات العامة: استخدم موارد عامة مثل
yolo26n.ptوcoco8.yamlلتسهيل إعادة الإنتاج. - تضمين كافة التبعيات اللازمة: حدد الحزم المطلوبة وإصداراتها. يمكنك إدراج التبعيات باستخدام
yolo checksإذا كان لديكultralyticsمثبتاً أوpip list. - كتابة وصف واضح للمشكلة: اشرح السلوك المتوقع والفعلي، بما في ذلك أي رسائل خطأ أو سجلات.
- تنسيق التعليمات البرمجية الخاصة بك بشكل صحيح: استخدم كتل التعليمات البرمجية لتنسيق الكود الخاص بك، مما يسهل قراءته.
- اختبار MRE الخاص بك: تأكد من أن MRE الخاص بك يعيد إنتاج المشكلة دون تعديلات.
للحصول على دليل مفصل، راجع إنشاء مثال قابل لإعادة الإنتاج بحد أدنى.
Link to this sectionلماذا يجب علي استخدام نماذج ومجموعات بيانات متاحة للجمهور في MRE الخاص بي لتقارير أخطاء Ultralytics YOLO؟#
استخدام النماذج ومجموعات البيانات المتاحة للجمهور في MRE الخاص بك يضمن أن القائمين على الصيانة يمكنهم تشغيل مثالك بسهولة دون الحاجة إلى الوصول إلى بيانات خاصة. وهذا يسمح بحل المشكلات بشكل أسرع وأكثر كفاءة. على سبيل المثال، يساعد استخدام نموذج yolo26n.pt ومجموعة بيانات coco8.yaml في توحيد وتبسيط عملية التصحيح. تعرف على المزيد حول النماذج ومجموعات البيانات العامة في قسم استخدام النماذج ومجموعات البيانات العامة.
Link to this sectionما هي المعلومات التي يجب أن أدرجها في تقرير الخطأ الخاص بي لـ Ultralytics YOLO؟#
يجب أن يتضمن تقرير الخطأ الشامل لـ Ultralytics YOLO ما يلي:
- وصف واضح: شرح المشكلة، والسلوك المتوقع، والسلوك الفعلي.
- رسائل الخطأ: تضمين أي رسائل خطأ أو سجلات ذات صلة.
- التبعيات: إدراج التبعيات المطلوبة وإصداراتها.
- MRE: توفير مثال قابل لإعادة الإنتاج بحد أدنى.
- خطوات إعادة الإنتاج: تحديد الخطوات اللازمة لإعادة إنتاج المشكلة.
للحصول على قائمة مراجعة كاملة، ارجع إلى قسم كتابة وصف واضح للمشكلة.
Link to this sectionكيف يمكنني تنسيق التعليمات البرمجية الخاصة بي بشكل صحيح عند تقديم تقرير خطأ على GitHub؟#
لتنسيق التعليمات البرمجية الخاصة بك بشكل صحيح عند تقديم تقرير خطأ على GitHub:
- استخدم ثلاث علامات اقتباس خلفية (```) لإنشاء كتل تعليمات برمجية.
- حدد لغة البرمجة لتمييز بناء الجملة، على سبيل المثال ```python.
- تأكد من إزاحة التعليمات البرمجية الخاصة بك بشكل صحيح لسهولة القراءة.
مثال:
```python
# Your Python code goes here
```لمزيد من النصائح حول تنسيق التعليمات البرمجية، راجع تنسيق التعليمات البرمجية الخاصة بك بشكل صحيح.
Link to this sectionما هي بعض الأخطاء الشائعة التي يجب التحقق منها قبل تقديم MRE الخاص بي لتقرير خطأ؟#
قبل تقديم MRE الخاص بك، تأكد من:
- التحقق من أن المشكلة قابلة لإعادة الإنتاج.
- التأكد من إدراج جميع التبعيات وأنها صحيحة.
- إزالة أي تعليمات برمجية غير ضرورية.
- اختبار MRE للتأكد من أنه يعيد إنتاج المشكلة دون تعديلات.
للحصول على قائمة مراجعة مفصلة، قم بزيارة قسم اختبار MRE الخاص بك.