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 저장소에서 확인하세요.