YAML2ModelGraphでYOLOのアーキテクチャを可視化#
YAML2ModelGraphは、Ultralytics YOLOのモデルYAMLファイルをSVGアーキテクチャ図に変換するコミュニティツールです。カスタムモデルのドキュメント作成や、バックボーン、ネック、ヘッドの構造確認に役立ちます。
インストール#
プロジェクトをクローンし、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リポジトリをご確認ください。