YOLOv8n 모델을 기준으로 작성된 글입니다.
Dataflow 컴파일러 흐름
- Tensorflow 또는 ONNX 신경망 그래프를 Hailo와 호환되는 표현으로 변환.(har)
- 전체 정밀도 신경망 모델을 8비트 모델로 양자화
- Hailo 장치에서 실행하기 위해 네트워크를 바이너리 파일(HEF)로 컴파일
parsing1(pt → onnx)
yolo export model=./can_plastic.pt imgsz=640 format=onnx opset=11
Hailo에서 opset ≤14만 지원
parsing2(onnx → har)
hailomz parse --hw-arch hailo8 --ckpt ./small_best.onnx yolov8n
yolov8n은 hailo model zoo에서 지원하기 때문에 hailomz 명령어로 쉽게 컴파일이 가능하다.
양자화 및 최적화 (har → optimized.har)
hailo optimize --hw-arch hailo8 --use-random-calib-set ./yolov8n.har
hailo에서는 calibset data은 학습에 사용된 1024장의 데이터를 사용하는 것을 권장한다. 그러나 편의를 위해 random-calib-set을 사용하여 양자화 및 최적화를 진행한다.
컴파일
hailomz compile yolov8n --hw-arch hailo8 --har ./yolov8n_optimized.har
최종적으로 .hef 파일이 생성되며 이를 hailo가 장착된 Raspberry Pi 5에 옮겨 추론한다.
'AI' 카테고리의 다른 글
| [머신러닝] 01. 머신러닝이란? (0) | 2025.12.20 |
|---|---|
| Hailo 관련 SW 설치 (2) | 2025.12.18 |
| [YOLO] COCO 데이터 형식에서 YOLO 데이터 형식으로 바꾸기 (0) | 2025.02.11 |
| [YOLOv8] custom training하여 바닥 Instance Segmentation하기 (0) | 2025.02.10 |
| [YOLOv7] custom training (2) | 2023.01.13 |