Arm Ethos‑U65:YOLOv8n 模型准备与 Vela 编译
发布时间:2026-09-24 | 浏览:3
本文是 Arm Ethos‑U65 学习笔记的第四篇,接下来两篇将基于 U65 实现一个 YOLO v8n 目标检测实例,其中本篇完成模型准备与 Vela 编译生成命令流,下一篇将命令流导入芯片仿真环境执行推理验证,整个示例以芯片验证仿真为主线,同时对裸机环境下的软件开发也有一定参考价值。
正常流程需要将模型按照 Tensorflow lite 格式量化,这里直接使用现成 YOLO v8n tflite 模型:
https://github.com/camthink-ai/ne302/blob/main/Model/weights/yolov8n_256_quant_pc_ui_od_coco.tflite
查看模型,可以看到输入是256x256x3 uint8,输出是1x84x1344 int8,对应80个分类1344个框。需要注意 tflite 模型是不包含后处理的,后处理需要外部实现(阈值比较、排序和 NMS),同时需要给模型提供前处理后的数据(resize 和格式转换)。
下面完成基于 YOLO v8n tflite 实现目标检测的python程序,大体流程为:
a) 将图像resize成256x256,再量化为uint8。 b) 执行推理,通过tf.lite.Interpreter方法运行tfllite网络,得到输出结果。 c) 将输出反量化为浮点。 d) 对于每个窗,找到80个置信度中最大值,再和阈值比对,筛选出大于阈值的点。 e) 进行nms,去掉重合的窗。 f) 框坐标resize恢复,添加到图片中。
后面芯片仿真验证流程还需要复用程序的 c~f 也就是后处理部分。
tfile_model_run_yolov8n.py
运行程序,对人、汽车、自行车进行了识别。
Vela 是 ARM 开发的一款编译器工具,可以将 TensorFlow Lite 模型(.tflite文件)编译为Ethos U65 可以执行的命令流,编译同时会对模型会进行权重压缩、内存分配等优化,这个优化过程不会有精度损失。
Vela 以 python 软件包形式使用,首先通过 pip 安装。
安装后可以直接在端口执行,指定模型、NPU版本和输出路径。
运行后会生成带 _vela 后缀的 tflite 格式文件,生成文件并不是网络,只是借用了 .tflite 格式,文件实际内容是命令流+权重(下图中的1<>和2<>),命令流可以通过hex格式打开查看,权重因为经过压缩直接看会对不上。
运行 Vela 指令的同时会打印 log 信息,能看到存储和带宽使用情况,还可以通过添加指令后缀调整存储使用和优化策略、查看更多信息项。vela -h 可以显示所有命令后缀,更推荐的是直接查看 Vela 官方文档。
https://gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-vela
通过 --memory-mode 可以指定存储使用模式,支持 Shared_Sram 和 Dedicated Sram;通过 --config 可以指定配置文件;通过 --system-config 可以指定系统配置。后两者可以在vela安装目录找到参考 (…\Lib\site-packages\ethosu\config_files\Arm\vela.ini)。
有2条比较有用的调试指令后缀。
通过high-level-command可以看到优化后的网络结构,可以看到原尺寸已经被拆分成 Block 尺寸。
通过register-command可以直接看到带注释的命令行。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
· 开源新纪元:深度解析小米 MiMo Code 的技术架构与实战应用
· UniAD_v2 模型NPU适配
· Arm Ethos‑U65:YOLOv8n 仿真验证与命令流执行
开源新纪元:深度解析小米 MiMo Code 的技术架构与实战应用
UniAD_v2 模型NPU适配
参考github网址:https://github.com/OpenDriveLab/UniAD/tree/v2.0参考readme:https://gitcode.com/Ascend/DrivingSDK/blob/master/model_examples/UniAD/README.md。
Arm Ethos‑U65:YOLOv8n 仿真验证与命令流执行
为遵守国家网络实名制规定,未绑定将限制内容发布与互动