Visualiza arquitecturas YOLO con YAML2ModelGraph#
YAML2ModelGraph es una herramienta de la comunidad que convierte archivos YAML de modelos Ultralytics YOLO en diagramas SVG de arquitectura. Puede ayudarte a documentar modelos personalizados o a inspeccionar la estructura de su backbone, neck y head.
Instalación#
Clona el proyecto e instala su dependencia PyYAML:
git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyamlUso#
Genera un diagrama a partir del ejemplo de YOLO26 incluido:
python main.py examples/yolo26.yaml output.svgUsa --head multi para dibujar nodos de head independientes para cada escala, o selecciona uno de los temas incluidos:
python main.py examples/yolo26.yaml output.svg --head multi --theme paper_rybEntre los temas disponibles se incluyen paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest y journal. El SVG generado no requiere instalar Graphviz.
Metadatos de los nodos#
Edita DISPLAY_CONFIG en main.py de YAML2ModelGraph para elegir qué detalles aparecen en cada nodo:
DISPLAY_CONFIG = {
"show_channels": True,
"show_repeats": True,
"show_stride": True,
"show_args": False,
}Los nombres de módulos YAML personalizados se representan automáticamente. Los colores, las formas y la tipografía del tema se configuran en el themes.py de la herramienta.
Limitaciones#
YAML2ModelGraph alinea de forma especial los heads estándar Detect. Otros heads de tareas, como Segment, Pose y OBB, se representan actualmente como nodos genéricos del carril neck. Consulta el repositorio de YAML2ModelGraph para conocer la compatibilidad actual y los detalles de uso.
Preguntas frecuentes#
Sí. Se representan los archivos YAML de cualquier modelo de Ultralytics que siga el formato de capas
[from, repeats, module, args], y los nombres de módulos personalizados se dibujan como nodos genéricos. Consulta la guía de configuración de YAML de modelos para conocer el formato.No. La herramienta genera SVG directamente y solo depende de PyYAML.
Solo los heads estándar
Detect. Los headsSegment,PoseyOBBse dibujan como nodos genéricos del carril neck; consulta el repositorio de YAML2ModelGraph para conocer la compatibilidad actual.