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

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

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

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

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

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

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

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

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

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

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

5. تنسيق التعليمات البرمجية الخاصة بك بشكل صحيح

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

# Your Python code goes here

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

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

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

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

وصف الخطأ:

عند تشغيل detect.py البرنامج النصي على نموذج الصورة من مجموعة البيانات "coco8.yaml" ، أحصل على خطأ يتعلق بأبعاد الإدخال 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.0.0
  • ultralytics== 8.0.90

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

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



تم إنشاؤه في 2023-11-12, اخر تحديث 2023-11-12
المؤلفون: جلين جوشر (1)

التعليقات