File size: 860 Bytes
aa24fe8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from graphviz import Digraph
import yaml

# 加载 YAML 文件
with open('/home/lab/LJ/wampee/ultralytics/ultralytics/cfg/models/v8/yolov8.yaml', 'r') as f:
    model_config = yaml.safe_load(f)

# 创建一个有向图
dot = Digraph(comment='YOLOv8 Model Structure')

# 添加 Backbone 节点
dot.node('Input', 'Input Image')
for idx, layer in enumerate(model_config['backbone']):
    dot.node(f'Backbone_{idx}', f"{layer[2]} ({layer[3]})")
    dot.edge('Input' if idx == 0 else f'Backbone_{idx-1}', f'Backbone_{idx}')

# 添加 Head 节点
for idx, layer in enumerate(model_config['head']):
    dot.node(f'Head_{idx}', f"{layer[2]} ({layer[3]})")
    dot.edge(f'Backbone_{len(model_config["backbone"])-1}' if idx == 0 else f'Head_{idx-1}', f'Head_{idx}')

# 保存和展示结构图
dot.render('yolov8_model_structure', format='png', cleanup=True)
dot.view()