Ultralytics YOLO27:

YOLO-Architekturen mit YAML2ModelGraph visualisieren#

YAML2ModelGraph ist ein Community-Tool, das YAML-Dateien von Ultralytics YOLO in SVG-Architekturdiagramme umwandelt. Es kann dich dabei unterstützen, benutzerdefinierte Modelle zu dokumentieren oder ihre Backbone-, Neck- und Head-Struktur zu untersuchen.

Single-head YOLO architecture rendered by YAML2ModelGraph Multi-head YOLO architecture rendered by YAML2ModelGraph

Installation#

Klone das Projekt und installiere die PyYAML-Abhängigkeit:

git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyaml

Verwendung#

Erstelle ein Diagramm aus dem enthaltenen YOLO26-Beispiel:

python main.py examples/yolo26.yaml output.svg

Verwende --head multi, um separate Head-Knoten für die einzelnen Skalierungen zu zeichnen, oder wähle eines der enthaltenen Designs aus:

python main.py examples/yolo26.yaml output.svg --head multi --theme paper_ryb

Zu den verfügbaren Designs gehören paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest und journal. Für das generierte SVG ist keine Graphviz-Installation erforderlich.

Knotenmetadaten#

Bearbeite DISPLAY_CONFIG in main.py von YAML2ModelGraph, um auszuwählen, welche Details in jedem Knoten angezeigt werden:

DISPLAY_CONFIG = {
    "show_channels": True,
    "show_repeats": True,
    "show_stride": True,
    "show_args": False,
}

Benutzerdefinierte YAML-Modulnamen werden automatisch dargestellt. Farben, Formen und Typografie des Designs werden in themes.py des Tools konfiguriert.

Einschränkungen#

YAML2ModelGraph richtet standardmäßige Detect-Heads speziell aus. Andere Task-Heads wie OBB, Pose und Segment werden derzeit als generische Knoten in Neck-Bahnen dargestellt. Aktuelle Informationen zur Unterstützung und Verwendung findest du im YAML2ModelGraph-Repository.

FAQ#

  • Ja. Jedes Ultralytics-Modell-YAML, das dem Schichtformat von [from, repeats, module, args] entspricht, wird gerendert, und benutzerdefinierte Modulnamen werden als generische Knoten gezeichnet. Das Format findest du im Modell-YAML-Konfigurationsleitfaden.

  • Nein. Das Tool schreibt SVG direkt und ist nur von PyYAML abhängig.

  • Nur Standardköpfe von Detect. Köpfe von OBB, Pose und Segment werden als generische Neck-Lane-Knoten gezeichnet; die aktuelle Unterstützung kannst du im YAML2ModelGraph-Repository überprüfen.

Kommentare