İçeriğe geç

Ultralytics YOLO Depolarındaki Hata Raporları için Minimum Tekrarlanabilir Örnek Oluşturma

Ultralytics YOLO depoları için bir hata raporu gönderirken, minimum yeniden üretilebilir bir örnek (MRE) sağlamak çok önemlidir. MRE, yaşadığınız sorunu gösteren küçük, bağımsız bir kod parçasıdır. Bir MRE sağlamak, bakımcıların ve katkıda bulunanların sorunu anlamasına ve bir düzeltme üzerinde daha verimli çalışmasına yardımcı olur. Bu kılavuzda, Ultralytics YOLO depolarına hata raporları gönderirken nasıl MRE oluşturulacağı açıklanmaktadır.

1. Sorunu İzole Edin

Bir MRE oluşturmanın ilk adımı sorunu izole etmektir. Bu, sorunla doğrudan ilgili olmayan tüm gereksiz kodların veya bağımlılıkların kaldırılması anlamına gelir. Kodun soruna neden olan belirli bir bölümüne odaklanın ve ilgisiz tüm kodları kaldırın.

2. Kamuya Açık Modelleri ve Veri Setlerini Kullanın

Bir MRE oluştururken, sorunu yeniden üretmek için kamuya açık modelleri ve veri kümelerini kullanın. Örneğin, 'yolov8n.pt' modelini ve 'coco8.yaml' veri kümesini kullanın. Bu, bakımcıların ve katkıda bulunanların örneğinizi kolayca çalıştırabilmesini ve özel verilere veya özel modellere erişmeye gerek kalmadan sorunu araştırabilmesini sağlar.

3. Gerekli Tüm Bağımlılıkları Dahil Edin

Gerekli tüm bağımlılıkları MRE'nize eklediğinizden emin olun. Kodunuz harici kütüphanelere dayanıyorsa, gerekli paketleri ve sürümlerini belirtin. İdeal olarak, bir requirements.txt dosyasını açın veya hata raporunuzda bağımlılıkları listeleyin.

4. Sorunun Açık Bir Tanımını Yazın

Yaşadığınız sorunun açık ve öz bir tanımını yapın. Beklenen davranışı ve karşılaştığınız gerçek davranışı açıklayın. Varsa, ilgili hata mesajlarını veya günlükleri ekleyin.

5. Kodunuzu Düzgün Biçimlendirin

Bir MRE gönderirken, sorun açıklamasında kod blokları kullanarak kodunuzu düzgün bir şekilde biçimlendirin. Bu, başkalarının kodunuzu okumasını ve anlamasını kolaylaştırır. GitHub'da, kodunuzu üçlü ters işaretlerle (```) sararak ve dili belirterek bir kod bloğu oluşturabilirsiniz:

# Your Python code goes here

6. MRE'nizi Test Edin

MRE'nizi göndermeden önce, sorunu doğru bir şekilde yeniden ürettiğinden emin olmak için test edin. Başkalarının örneğinizi herhangi bir sorun veya değişiklik olmadan çalıştırabildiğinden emin olun.

MRE örneği

İşte varsayımsal bir hata raporu için bir MRE örneği:

Hata açıklaması:

Çalıştırırken detect.py betiğini 'coco8.yaml' veri kümesindeki örnek görüntü üzerinde çalıştırdığımda, tensor girişinin boyutlarıyla ilgili bir hata alıyorum.

MRE:

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)

Hata mesajı:

RuntimeError: Expected input[1, 0, 640, 640] to have 3 channels, but got 0 channels instead

Bağımlılıklar:

  • torch==2.0.0
  • ultralytics==8.0.90

Bu örnekte, MRE sorunu minimum miktarda kodla göstermekte, genel bir model ('yolov8n.pt') kullanmakta, gerekli tüm bağımlılıkları içermekte ve hata mesajıyla birlikte sorunun net bir açıklamasını sunmaktadır.

Bu yönergeleri izleyerek, Ultralytics YOLO depolarının bakımcılarının ve katkıda bulunanlarının sorununuzu daha verimli bir şekilde anlamalarına ve çözmelerine yardımcı olacaksınız.



Oluşturuldu 2023-11-12, Güncellendi 2023-11-12
Yazarlar: glenn-jocher (1)

Yorumlar