YOLO-Architekturen mit YAML2ModelGraph visualisieren#
YAML2ModelGraph ist ein Community-Tool, das YAML-Dateien von Ultralytics YOLO-Modellen in SVG-Architekturdiagramme umwandelt. Es kann dabei helfen, benutzerdefinierte Modelle zu dokumentieren oder ihre Backbone-, Neck- und Head-Struktur zu untersuchen.
Installation#
Klone das Projekt und installiere die PyYAML-Abhängigkeit:
git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyamlVerwendung#
Erzeuge ein Diagramm anhand des enthaltenen YOLO26-Beispiels:
python main.py examples/yolo26.yaml output.svgVerwende --head multi, um separate, maßstabsabhängige Head-Knoten zu zeichnen, oder wähle eines der enthaltenen Designs aus:
python main.py examples/yolo26.yaml output.svg --head multi --theme paper_rybZu den verfügbaren Designs gehören paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest und journal. Für das erzeugte SVG ist keine Graphviz-Installation erforderlich.
Knotenmetadaten#
Bearbeite DISPLAY_CONFIG in YAML2ModelGraphs main.py, um auszuwählen, welche Details in den einzelnen 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 der themes.py des Tools konfiguriert.
Einschränkungen#
YAML2ModelGraph richtet Köpfe des Standardtyps Detect speziell aus. Andere Aufgaben-Köpfe wie Segment, Pose und OBB werden derzeit als generische Knoten in der Neck-Spur dargestellt. Aktuelle Angaben zu unterstützten Funktionen und zur Verwendung findest du im YAML2ModelGraph-Repository.
Häufig gestellte Fragen#
Ja. Jede Ultralytics-Modell-YAML-Datei, die dem Ebenenformat
[from, repeats, module, args]folgt, wird dargestellt; benutzerdefinierte Modulnamen erscheinen als generische Knoten. Informationen zum Format findest du im Leitfaden zur Modell-YAML-Konfiguration.Nein. Das Tool erstellt SVG-Dateien direkt und benötigt nur PyYAML.
Nur Köpfe des Standardtyps
Detect. Köpfe des TypsSegment,PoseundOBBwerden als generische Knoten in der Neck-Spur dargestellt. Aktuelle Angaben zur Unterstützung findest du im YAML2ModelGraph-Repository.