系统: Ubuntu 24.04.1 LTS
转换模型为onnx
from ultralytics import YOLO
# 加载本地yolo模型
model = YOLO("best.pt")
# 导出模型为onnx格式,输入图像为640*640像素, 版本11
model.export(format="onnx", imgsz=640, opset=11 )
安装Python3.10
创建虚拟环境
mkdir onnx-to-hef
cd onnx-to-hef
# 创建python虚拟环境
python3.10 -m venv venv
复制一份yolo训练集到onnx-to-hef目录
# 格式
data/
├── images
│ ├── c1c0bfb4-6fd07b4fa73690154fb0634fa98a924bfe2cfa82ead18f22b1beeef895a60723.jpg
│ ├── c3f494c9-ad773bb9490bcd5f458554524fb99e9230e007ed36c6e8f8f7dfe43af4f56699.jpg
│ ├── c82936b0-759545a2009065a82d4c2d75db17a94d8dedbf8b17cd92d0d1d0ab70784e5a9c.jpg
│ ├── c8c1fc30-d8d2bb1e5338dea249f1020e63e71245c3252c1e16c11896cea5ed181dd4557a.jpg
│ ├── cadb45eb-8f937abbfd8050bfdbc65193dfcc6f7c641719d086c68a43183aa798ecfa0be5.jpg
│ ├── cc593c4e-f50650aa0cee83fbbeb09746e01a56dda052fc9050f2a80d1c80f953c5a4912f.jpg
│ ├── cf0da961-f5d0dd71389ca07c2399fd3d8a2db7a27b9749053b9f6b776cecb25cee44b6aa.jpg
└── labels
├── c1c0bfb4-6fd07b4fa73690154fb0634fa98a924bfe2cfa82ead18f22b1beeef895a60723.txt
├── c3f494c9-ad773bb9490bcd5f458554524fb99e9230e007ed36c6e8f8f7dfe43af4f56699.txt
├── c82936b0-759545a2009065a82d4c2d75db17a94d8dedbf8b17cd92d0d1d0ab70784e5a9c.txt
├── c8c1fc30-d8d2bb1e5338dea249f1020e63e71245c3252c1e16c11896cea5ed181dd4557a.txt
├── cadb45eb-8f937abbfd8050bfdbc65193dfcc6f7c641719d086c68a43183aa798ecfa0be5.txt
├── cc593c4e-f50650aa0cee83fbbeb09746e01a56dda052fc9050f2a80d1c80f953c5a4912f.txt
├── cf0da961-f5d0dd71389ca07c2399fd3d8a2db7a27b9749053b9f6b776cecb25cee44b6aa.txt
├── classes.txt
下载官方whl包

复制到onnx-to-hef目录, 终端中打开onnx-to-hef目录
# 激活python虚拟环境
source venv/bin/activate
# 拉取 hailo_model_zoo
git clone https://github.com/hailo-ai/hailo_model_zoo
# 安装 hailo_dataflow_compiler
pip install hailo_dataflow_compiler-3.30.0-py3-none-linux_x86_64.whl -q
# 安装 hailo_model_zoo
cd hailo_model_zoo
pip install -e . -q
# 检测是否安装成功
hailomz info mobilenet_v1
输出
<Hailo Model Zoo INFO> Start run for network mobilenet_v1 ...
<Hailo Model Zoo INFO>
task: classification
input_shape: 224x224x3
output_shape: 1001
operations: 1.14G
parameters: 4.22M
framework: tensorflow
training_data: imagenet train
validation_data: imagenet val
eval_metric: Accuracy (top1)
full_precision_result: 70.97
source: https://github.com/tensorflow/models/tree/v1.13.0/research/slim
license_url: https://github.com/tensorflow/models/blob/master/LICENSE
复制转换好的onnx模型到onnx-to-hef目录
# 检查目录位置
pwd
# 输出 /home/cam/桌面/onnx-to-hef/hailo_model_zoo
# 开始转换onnx模型为hef
python hailo_model_zoo/main.py compile yolov8m --ckpt ../best.onnx --hw-arch hailo8 --calib-path ../data/images/ --classes 1 --performance
解释:
yolov8m: 为转换后的模型名字
../best.onnx: 需要转换的onnx 模型文件
hailo8: 买的加速套件类型, 有hailo8和hailo8l
../data/images/: 训练集的位置
1: 模型中标签类的数量

Comments NOTHING