Trực quan hóa kiến trúc YOLO với YAML2ModelGraph#
YAML2ModelGraph là một công cụ do cộng đồng phát triển, chuyển đổi các tệp YAML của model Ultralytics YOLO thành sơ đồ kiến trúc SVG. Công cụ này hỗ trợ ghi lại tài liệu cho các model tùy chỉnh hoặc kiểm tra cấu trúc backbone, neck và head của chúng.
Cài đặt#
Clone project và cài đặt dependency PyYAML:
git clone https://github.com/WangQvQ/YAML2ModelGraph.git
cd YAML2ModelGraph
pip install pyyamlCách sử dụng#
Tạo sơ đồ từ ví dụ YOLO26 đi kèm:
python main.py examples/yolo26.yaml output.svgSử dụng --head multi để vẽ các node head riêng theo từng scale hoặc chọn một trong các theme đi kèm:
python main.py examples/yolo26.yaml output.svg --head multi --theme paper_rybCác theme khả dụng gồm paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest và
journal. SVG được tạo không yêu cầu cài đặt Graphviz.
Metadata của node#
Chỉnh sửa DISPLAY_CONFIG trong main.py của YAML2ModelGraph để chọn các chi tiết hiển thị trong mỗi node:
DISPLAY_CONFIG = {
"show_channels": True,
"show_repeats": True,
"show_stride": True,
"show_args": False,
}Tên module YAML tùy chỉnh được tự động hiển thị. Màu sắc, hình dạng và kiểu chữ của theme được cấu hình trong
themes.py của công cụ.
Hạn chế#
YAML2ModelGraph căn chỉnh đặc biệt các head Detect tiêu chuẩn. Các head của task khác như OBB, Pose và Segment hiện được hiển thị dưới dạng các node generic trên lane neck. Xem
kho lưu trữ YAML2ModelGraph để biết thông tin chi tiết về khả năng hỗ trợ và cách sử dụng hiện tại.
FAQ#
Có. Bất kỳ YAML model Ultralytics nào tuân theo định dạng layer
[from, repeats, module, args]đều hiển thị và tên module tùy chỉnh được vẽ dưới dạng node chung. Xem hướng dẫn cấu hình model YAML để biết định dạng.Không. Công cụ này ghi trực tiếp SVG và chỉ phụ thuộc vào PyYAML.
Chỉ các head chuẩn
Detect. Các headOBB,PosevàSegmentđược vẽ dưới dạng node neck-lane chung; hãy kiểm tra kho lưu trữ YAML2ModelGraph để biết khả năng hỗ trợ hiện tại.