Trực quan hóa kiến trúc YOLO bằng YAML2ModelGraph#
YAML2ModelGraph là công cụ cộng đồng chuyển đổi các tệp YAML model Ultralytics YOLO thành sơ đồ kiến trúc SVG. Công cụ này có thể giúp ghi lại tài liệu cho model tùy chỉnh hoặc kiểm tra cấu trúc backbone, neck và head của model.
Cài đặt#
Clone dự án 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.svgDù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 có sẵn gồm paper, paper_ryb, candy, dark, ocean, retro, blueprint, forest và journal. SVG được tạo không cần cài đặt Graphviz.
Metadata của node#
Chỉnh sửa DISPLAY_CONFIG trong main.py của YAML2ModelGraph để chọn thông tin hiển thị trong từng 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 riêng các head Detect tiêu chuẩn. Các head tác vụ khác như Segment, Pose và OBB hiện được hiển thị dưới dạng node chung trên lane neck. Xem kho lưu trữ YAML2ModelGraph để biết thông tin mới nhất về khả năng hỗ trợ và cách sử dụng.
Câu hỏi thường gặp#
Có. Mọi YAML model Ultralytics tuân theo định dạng layer
[from, repeats, module, args]đều được hiển thị, còn tên module tùy chỉnh được vẽ thành các node chung. Xem hướng dẫn cấu hình YAML model để biết định dạng.Không. Công cụ ghi trực tiếp ra SVG và chỉ phụ thuộc vào PyYAML.
Chỉ các head
Detecttiêu chuẩn. Các headSegment,PosevàOBBđược vẽ thành node chung trên lane neck; xem kho lưu trữ YAML2ModelGraph để biết thông tin hỗ trợ mới nhất.