सामग्री पर जाएं

में बग रिपोर्ट के लिए एक न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण बनाना Ultralytics YOLO खजाने

के लिए बग रिपोर्ट सबमिट करते समय Ultralytics YOLO रिपॉजिटरी, न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण (एमआरई) प्रदान करना आवश्यक है। एक एमआरई कोड का एक छोटा, स्व-निहित टुकड़ा है जो आपके द्वारा अनुभव की जा रही समस्या को प्रदर्शित करता है। MRE प्रदान करने से अनुरक्षकों और योगदानकर्ताओं को समस्या को समझने और अधिक कुशलता से ठीक करने पर काम करने में मदद मिलती है। यह मार्गदर्शिका बताती है कि बग रिपोर्ट सबमिट करते समय MRE कैसे बनाया जाए Ultralytics YOLO खजाने।

1. समस्या को अलग करें

एमआरई बनाने में पहला कदम समस्या को अलग करना है। इसका मतलब है कि किसी भी अनावश्यक कोड या निर्भरता को हटाना जो सीधे मुद्दे से संबंधित नहीं हैं। कोड के उस विशिष्ट भाग पर फ़ोकस करें जो समस्या पैदा कर रहा है और किसी भी अप्रासंगिक कोड को हटा दें।

2. सार्वजनिक मॉडल और डेटासेट का उपयोग करें

एमआरई बनाते समय, समस्या को पुन: उत्पन्न करने के लिए सार्वजनिक रूप से उपलब्ध मॉडल और डेटासेट का उपयोग करें। उदाहरण के लिए, 'yolov8n.pt' मॉडल और 'coco8.yaml' डेटासेट। यह सुनिश्चित करता है कि अनुरक्षक और योगदानकर्ता आसानी से आपके उदाहरण को चला सकते हैं और मालिकाना डेटा या कस्टम मॉडल तक पहुंच की आवश्यकता के बिना समस्या की जांच कर सकते हैं।

3. सभी आवश्यक निर्भरताएं शामिल करें

अपने एमआरई में सभी आवश्यक निर्भरताओं को शामिल करना सुनिश्चित करें। यदि आपका कोड बाहरी लाइब्रेरीज़ पर निर्भर करता है, तो आवश्यक पैकेज और उनके संस्करण निर्दिष्ट करें. आदर्श रूप से, एक प्रदान करें requirements.txt अपनी बग रिपोर्ट में निर्भरताओं को फ़ाइल या सूचीबद्ध करें।

4. मुद्दे का स्पष्ट विवरण लिखें

आप जिस समस्या का सामना कर रहे हैं उसका स्पष्ट और संक्षिप्त विवरण प्रदान करें। अपेक्षित व्यवहार और आपके द्वारा सामना किए जा रहे वास्तविक व्यवहार की व्याख्या करें। यदि लागू हो, तो कोई भी प्रासंगिक त्रुटि संदेश या लॉग शामिल करें।

5. अपने कोड को ठीक से प्रारूपित करें

एमआरई सबमिट करते समय, समस्या विवरण में कोड ब्लॉक का उपयोग करके अपने कोड को ठीक से प्रारूपित करें। इससे अन्य लोगों के लिए आपका कोड पढ़ना और समझना आसान हो जाता है. GitHub में, आप अपने कोड को ट्रिपल बैकटिक (''') के साथ लपेटकर और भाषा निर्दिष्ट करके एक कोड ब्लॉक बना सकते हैं:

# Your Python code goes here

6. अपने एमआरई का परीक्षण करें

अपना एमआरई सबमिट करने से पहले, यह सुनिश्चित करने के लिए परीक्षण करें कि यह समस्या को सटीक रूप से पुन: उत्पन्न करता है। सुनिश्चित करें कि अन्य लोग बिना किसी समस्या या संशोधन के आपका उदाहरण चला सकते हैं।

MRE चे उदाहरण

काल्पनिक बग रिपोर्ट के लिए MRE का एक उदाहरण यहां दिया गया है:

बग विवरण:

चलाते समय 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)

टिप्पणियाँ