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

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

When submitting a bug report for Ultralytics YOLO repositories, it's essential to provide a Minimum Reproducible Example (MRE). An MRE is a small, self-contained piece of code that demonstrates the problem you're experiencing. Providing an MRE helps maintainers and contributors understand the issue and work on a fix more efficiently. This guide explains how to create an MRE when submitting bug reports to Ultralytics YOLO repositories.

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

The first step in creating an MRE is to isolate the problem. Remove any unnecessary code or dependencies that are not directly related to the issue. Focus on the specific part of the code that is causing the problem and eliminate any irrelevant sections.

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

When creating an MRE, use publicly available models and datasets to reproduce the issue. For example, use the yolov8n.pt model and the coco8.yaml dataset. This ensures that the maintainers and contributors can easily run your example and investigate the problem without needing access to proprietary data or custom models.

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

Ensure all necessary dependencies are included in your MRE. If your code relies on external libraries, specify the required packages and their versions. Ideally, list the dependencies in your bug report using yolo checks if you have ultralytics installed or pip list for other tools.

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

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

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

Format your code properly using code blocks in the issue description. This makes it easier for others to read and understand your code. In GitHub, you can create a code block by wrapping your code with triple backticks (```) and specifying the language:

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

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

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

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

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

وصف الخطأ:

When running inference on a 0-channel image, I get an error related to the dimensions of the input 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

In this example, the MRE demonstrates the issue with a minimal amount of code, uses a public model ("yolov8n.pt"), includes all necessary dependencies, and provides a clear description of the problem along with the error message.

By following these guidelines, you'll help the maintainers and contributors of Ultralytics YOLO repositories to understand and resolve your issue more efficiently.



Created 2023-11-12, Updated 2024-06-09
Authors: IvorZhu331 (1), glenn-jocher (3)

التعليقات