Ultralytics YOLO27:
Get Started

使用 YAML2ModelGraph 可视化 YOLO 架构#

YAML2ModelGraph 是一款社区工具,可将 Ultralytics YOLO 模型 YAML 文件转换为 SVG 架构图。它可以帮助你记录自定义模型,或检查模型的主干网络、颈部和检测头结构。

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

安装#

克隆项目并安装其 PyYAML 依赖项:

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

用法#

使用随附的 YOLO26 示例生成图表:

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

使用 --head multi 绘制单独的、特定于各尺度的检测头节点,或选择一个随附主题:

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

可用主题包括 paper、paper_ryb、candy、dark、ocean、retro、blueprint、forest 和 journal。生成的 SVG 无需安装 Graphviz。

节点元数据#

在 YAML2ModelGraph 的 main.py 中编辑 DISPLAY_CONFIG,以选择每个节点要显示的详细信息:

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

自定义 YAML 模块名称会自动呈现。主题颜色、形状和字体排版在该工具的 themes.py 中配置。

局限性#

YAML2ModelGraph 会专门对齐标准 Detect 检测头。其他任务检测头,例如 Segment、Pose 和 OBB,目前会呈现为通用颈部通道节点。请参阅 YAML2ModelGraph 代码库,了解当前支持情况和使用详情。

常见问题#

  • 可以。任何遵循 [from, repeats, module, args] 层格式的 Ultralytics 模型 YAML 文件都能呈现,自定义模块名称则会绘制为通用节点。有关格式的说明,请参阅模型 YAML 配置指南。

  • 不需要。该工具直接写入 SVG,且只依赖 PyYAML。

  • 只有标准 Detect 检测头。Segment、Pose 和 OBB 检测头会绘制为通用颈部通道节点;请查看 YAML2ModelGraph 代码库了解当前支持情况。

评论