Meet YOLO26: next-gen vision AI.

Link to this sectionErstellung eines minimalen reproduzierbaren Beispiels für Fehlerberichte#

Wenn du einen Fehlerbericht für Ultralytics YOLO Repositories einreichst, ist es wichtig, ein Minimales Reproduzierbares Beispiel (MRE) bereitzustellen. Ein MRE ist ein kleiner, in sich geschlossener Programmcode, der das Problem demonstriert, auf das du stößt. Die Bereitstellung eines MRE hilft den Betreuern und Mitwirkenden, das Problem zu verstehen und effizienter an einer Lösung zu arbeiten. Dieser Leitfaden erklärt, wie du ein MRE erstellst, wenn du Fehlerberichte an Ultralytics YOLO Repositories sendest.

Link to this section1. Isoliere das Problem#

Der erste Schritt bei der Erstellung eines MRE besteht darin, das Problem zu isolieren. Entferne alle unnötigen Codes oder Abhängigkeiten, die nicht direkt mit dem Problem zusammenhängen. Konzentriere dich auf den spezifischen Teil des Codes, der das Problem verursacht, und eliminiere alle irrelevanten Abschnitte.

Link to this section2. Verwende öffentliche Modelle und Datensätze#

Wenn du ein MRE erstellst, verwende öffentlich zugängliche Modelle und Datensätze, um das Problem zu reproduzieren. Verwende zum Beispiel das yolo26n.pt Modell und den coco8.yaml Datensatz. Dies stellt sicher, dass die Betreuer und Mitwirkenden dein Beispiel problemlos ausführen und das Problem untersuchen können, ohne Zugriff auf proprietäre Daten oder benutzerdefinierte Modelle zu benötigen.

Link to this section3. Füge alle notwendigen Abhängigkeiten hinzu#

Stelle sicher, dass alle notwendigen Abhängigkeiten in deinem MRE enthalten sind. Wenn dein Code auf externen Bibliotheken basiert, gib die erforderlichen Pakete und deren Versionen an. Idealerweise listest du die Abhängigkeiten in deinem Fehlerbericht mit yolo checks auf, falls du ultralytics installiert hast, oder mit pip list für andere Tools.

Link to this section4. Schreibe eine klare Beschreibung des Problems#

Gib eine klare und prägnante Beschreibung des Problems an, auf das du stößt. Erkläre das erwartete Verhalten und das tatsächliche Verhalten, das du feststellst. Füge gegebenenfalls relevante Fehlermeldungen oder Protokolle bei.

Link to this section5. Formatiere deinen Code richtig#

Formatiere deinen Code ordnungsgemäß, indem du Codeblöcke in der Problembeschreibung verwendest. Dies erleichtert es anderen, deinen Code zu lesen und zu verstehen. Auf GitHub kannst du einen Codeblock erstellen, indem du deinen Code mit dreifachen Backticks (```) umschließt und die Sprache angibst:

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

Link to this section6. Teste dein MRE#

Bevor du dein MRE einreichst, teste es, um sicherzustellen, dass es das Problem genau reproduziert. Stelle sicher, dass andere dein Beispiel ohne Probleme oder Änderungen ausführen können.

Link to this sectionBeispiel für ein MRE#

Hier ist ein Beispiel für ein MRE für einen hypothetischen Fehlerbericht:

Fehlerbeschreibung:

Beim Ausführen der Inferenz auf einem 0-Kanal-Bild erhalte ich einen Fehler bezüglich der Dimensionen des Eingabetensors.

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)

Fehlermeldung:

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

Abhängigkeiten:

  • torch==2.3.0
  • ultralytics==8.2.0

In diesem Beispiel demonstriert das MRE das Problem mit einer minimalen Menge an Code, verwendet ein öffentliches Modell ("yolo26n.pt"), enthält alle notwendigen Abhängigkeiten und bietet eine klare Beschreibung des Problems zusammen mit der Fehlermeldung.

Indem du diese Richtlinien befolgst, hilfst du den Betreuern und Mitwirkenden der Ultralytics YOLO Repositories, dein Problem effizienter zu verstehen und zu lösen.

Link to this sectionFAQ#

Link to this sectionWie erstelle ich ein effektives minimales reproduzierbares Beispiel (MRE) für Fehlerberichte in Ultralytics YOLO Repositories?#

Um ein effektives minimales reproduzierbares Beispiel (MRE) für Fehlerberichte in Ultralytics YOLO Repositories zu erstellen, befolge diese Schritte:

  1. Isoliere das Problem: Entferne jeglichen Code oder Abhängigkeiten, die nicht direkt mit dem Problem zusammenhängen.
  2. Verwende öffentliche Modelle und Datensätze: Nutze öffentliche Ressourcen wie yolo26n.pt und coco8.yaml für eine einfachere Reproduzierbarkeit.
  3. Füge alle notwendigen Abhängigkeiten hinzu: Gib die erforderlichen Pakete und deren Versionen an. Du kannst Abhängigkeiten mit yolo checks auflisten, falls du ultralytics installiert hast, oder mit pip list.
  4. Schreibe eine klare Beschreibung des Problems: Erkläre das erwartete und tatsächliche Verhalten, einschließlich eventueller Fehlermeldungen oder Protokolle.
  5. Formatiere deinen Code richtig: Verwende Codeblöcke, um deinen Code zu formatieren und die Lesbarkeit zu verbessern.
  6. Teste dein MRE: Stelle sicher, dass dein MRE das Problem ohne Änderungen reproduziert.

Ein detailliertes Handbuch findest du unter Erstellung eines minimalen reproduzierbaren Beispiels.

Link to this sectionWarum sollte ich in meinem MRE für Ultralytics YOLO Fehlerberichte öffentlich verfügbare Modelle und Datensätze verwenden?#

Die Verwendung öffentlich verfügbarer Modelle und Datensätze in deinem MRE stellt sicher, dass die Betreuer dein Beispiel problemlos ausführen können, ohne Zugriff auf proprietäre Daten zu benötigen. Dies ermöglicht eine schnellere und effizientere Problemlösung. Zum Beispiel hilft die Verwendung des yolo26n.pt Modells und des coco8.yaml Datensatzes, den Debugging-Prozess zu standardisieren und zu vereinfachen. Erfahre mehr über öffentliche Modelle und Datensätze im Abschnitt Verwende öffentliche Modelle und Datensätze.

Link to this sectionWelche Informationen sollte ich in meinen Fehlerbericht für Ultralytics YOLO aufnehmen?#

Ein umfassender Fehlerbericht für Ultralytics YOLO sollte Folgendes enthalten:

  • Klare Beschreibung: Erkläre das Problem, das erwartete Verhalten und das tatsächliche Verhalten.
  • Fehlermeldungen: Füge relevante Fehlermeldungen oder Protokolle bei.
  • Abhängigkeiten: Liste die erforderlichen Abhängigkeiten und deren Versionen auf.
  • MRE: Stelle ein minimales reproduzierbares Beispiel bereit.
  • Schritte zur Reproduktion: Skizziere die Schritte, die erforderlich sind, um das Problem zu reproduzieren.

Für eine vollständige Checkliste siehe den Abschnitt Schreibe eine klare Beschreibung des Problems.

Link to this sectionWie kann ich meinen Code richtig formatieren, wenn ich einen Fehlerbericht auf GitHub einreiche?#

Um deinen Code beim Einreichen eines Fehlerberichts auf GitHub richtig zu formatieren:

  • Verwende dreifache Backticks (```), um Codeblöcke zu erstellen.
  • Gib die Programmiersprache für Syntax-Hervorhebung an, z.B. ```python.
  • Stelle sicher, dass dein Code zur besseren Lesbarkeit korrekt eingerückt ist.

Beispiel:

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

Weitere Tipps zur Code-Formatierung findest du unter Formatiere deinen Code richtig.

Link to this sectionWas sind einige häufige Fehler, die ich vor dem Einreichen meines MRE für einen Fehlerbericht prüfen sollte?#

Bevor du dein MRE einreichst, stelle sicher, dass du:

  • Überprüfe, ob das Problem reproduzierbar ist.
  • Stelle sicher, dass alle Abhängigkeiten aufgeführt und korrekt sind.
  • Entferne jeglichen unnötigen Code.
  • Teste das MRE, um sicherzustellen, dass es das Problem ohne Änderungen reproduziert.

Für eine detaillierte Checkliste besuche den Abschnitt Teste dein MRE.

Kommentare