Ultralytics YOLO27:

YAML2ModelGraph로 YOLO 아키텍처 시각화#

YAML2ModelGraph는 커뮤니티 도구로, Ultralytics YOLO 모델 YAML 파일을 SVG 아키텍처 다이어그램으로 변환합니다. 사용자 지정 모델을 문서화하거나 백본, 넥, 헤드 구조를 검사하는 데 활용할 수 있습니다.

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

설치#

프로젝트를 Clone하고 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 헤드를 특별히 정렬합니다. OBB, Pose, Segment과 같은 다른 태스크 헤드는 현재 일반 넥 레인 노드로 렌더링됩니다. 현재 지원 범위와 사용 세부 정보는 YAML2ModelGraph 리포지토리를 참조하세요.

FAQ#

  • 네. [from, repeats, module, args] 레이어 형식을 따르는 모든 Ultralytics 모델 YAML이 렌더링되며, 커스텀 모듈 이름은 일반 노드로 그려집니다. 형식에 대한 자세한 내용은 모델 YAML 설정 가이드를 참조하십시오.

  • 아니요. 이 도구는 SVG를 직접 작성하며 PyYAML에만 의존합니다.

  • 표준 Detect 헤드만 해당됩니다. OBB, Pose, Segment 헤드는 일반 넥 레인 노드로 그려지며, 현재 지원 여부는 YAML2ModelGraph 리포지토리에서 확인하십시오.

댓글