Ultralytics YOLO27:

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.

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

Cài đặt#

Clone project và cài đặt dependency PyYAML:

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

Cách sử dụng#

Tạo sơ đồ từ ví dụ YOLO26 đi kèm:

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

Sử 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_ryb

Các theme khả dụng gồm paper, paper_ryb, candy, dark, ocean, retro, blueprint, forestjournal. 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, PoseSegment 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 head OBB, PoseSegment đượ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.

Những người đóng góp

Bình luận