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を使用すると、スケール固有のヘッドノードを個別に描画できます。または、付属のテーマから1つを選択します。
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ヘッドを特別に位置合わせします。OBB、Pose、Segmentなどの他のタスクヘッドは、現在、汎用的なネックレーンノードとしてレンダリングされます。現在のサポート状況と使用方法の詳細については、YAML2ModelGraphリポジトリを参照してください。
FAQ#
はい。
[from, repeats, module, args]のレイヤー形式に従うUltralyticsのモデルYAMLであればレンダリングされ、カスタムモジュール名は汎用ノードとして描画されます。形式についてはmodel YAML configuration guideをご覧ください。いいえ。このツールはSVGを直接書き出し、PyYAMLのみに依存します。
標準の
Detectヘッドのみです。OBB、Pose、およびSegmentのヘッドは汎用のネックレーンノードとして描画されます。現在のサポート状況についてはYAML2ModelGraph repositoryをご確認ください。