Visualiser les architectures YOLO avec YAML2ModelGraph#
YAML2ModelGraph est un outil communautaire qui convertit les fichiers YAML des modèles Ultralytics YOLO en diagrammes d’architecture SVG. Il peut t’aider à documenter des modèles personnalisés ou à examiner la structure de leur backbone, de leur neck et de leur head.
Installation#
Clone le projet et installe sa dépendance PyYAML :
git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyamlUtilisation#
Génère un diagramme à partir de l’exemple YOLO26 inclus :
python main.py examples/yolo26.yaml output.svgUtilise --head multi pour dessiner des nœuds head distincts pour chaque échelle, ou sélectionne l’un des thèmes inclus :
python main.py examples/yolo26.yaml output.svg --head multi --theme paper_rybLes thèmes disponibles incluent paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest et
journal. Le SVG généré ne nécessite aucune installation de Graphviz.
Métadonnées des nœuds#
Modifie DISPLAY_CONFIG dans le main.py de YAML2ModelGraph pour choisir les détails qui apparaissent dans chaque nœud :
DISPLAY_CONFIG = {
"show_channels": True,
"show_repeats": True,
"show_stride": True,
"show_args": False,
}Les noms de modules YAML personnalisés sont rendus automatiquement. Les couleurs, les formes et la typographie du thème sont configurées dans le
themes.py de l’outil.
Limites#
YAML2ModelGraph aligne spécialement les têtes Detect standard. Les autres têtes de tâche, telles que OBB, Pose et Segment, sont actuellement rendues sous forme de nœuds génériques dans la voie du neck. Consulte le
dépôt YAML2ModelGraph pour connaître les fonctionnalités prises en charge et les détails d’utilisation actuels.
FAQ#
Oui. Tout fichier YAML de modèle Ultralytics qui respecte le format de couche
[from, repeats, module, args]s'affiche, et les noms de modules personnalisés sont dessinés sous forme de nœuds génériques. Consulte le model YAML configuration guide pour connaître le format.Non. L'outil écrit directement au format SVG et dépend uniquement de PyYAML.
Seules les têtes
Detectstandard le sont. Les têtesOBB,PoseetSegmentsont dessinées sous forme de nœuds génériques de voie de col ; consulte le YAML2ModelGraph repository pour connaître la prise en charge actuelle.