树莓派5B+AI_KIT基于hailo模块转换重新训练的YOLO模型

   日期:2024-12-30    作者:ntsthl 移动:http://mip.riyuangf.com/mobile/quote/81508.html

树莓派5B+AI_KIT基于hailo模块转换重新训练的YOLO模型

本篇主要分享树莓派5B+AI_KIT基于hailo模块转换重新训练的yolov8、yolov10模型(也即pt格式的模型转为hef格式的模型)过程中存在的坑和需要用到的步骤,关于训练和部署部分不做详细展开

hailo模块一般只能在Linux系统进行,本篇主要以Ubuntu22.04的系统展开。

这里需要选择两种路线,第一种是虚拟机,第二种是双系统。

虚拟机的配置参考以下博客

windows下有nvidia-gpu服务的虚拟机wsl配置参考以下视频

[人工智能加速]Windows下linux虚拟机gpu显卡虚拟化_哔哩哔哩_bilibili

双系统的配置参考以下视频系列

有nvidia显卡且选用双系统配置的伙伴可以参考我的另外一篇博客配置nvidia服务:Ubuntu22.04安装cuda、cudnn、pytorch、tensorflow一条龙操作-CSDN博客

没有nvidia显卡或者选用虚拟机(虚拟机很难设置GPU连接,一般不考虑,可以连接gpu服务的wsl虚拟机除外)的伙伴直接安装cpu版本的pytorch和tensorflow即可。

参考我的另外一篇博客:YOLO简单实用-CSDN博客

值得注意的是,从onnx格式转为hef格式需要onnx的版本为1.14.0,因此在训练模型的环境下运行以下命令

 

在完成训练以后,使用以下命令将yolo模型转为onnx格式

 

其中imgsz为自己训练时的图像输入大小,通常为640,如果训练时更改了这里也要随之更改。

进入hailo官网进行注册

注册登陆以后选择Software Download

下载dataflow

下载model_zoo

将下载得到的两个whl文件传到ubuntu系统中。

由于下载过程在没有设置代理的情况下会比较慢,也可以通过我的百度网盘分享获得

通过网盘分享的文件:hailo_packages
链接: https://pan.baidu.com/s/198HN2xndwyymhEOqveADhA 提取码: evhk 
--来自百度网盘超级会员v5的分享

在ubuntu系统中完成步骤一后,复制已有pytorch和tensorflow的main环境并创建新的环境

 

激活环境

 

安装之前要提前安装会报错的库

 

安装dataflow和model_zoo

 

验证安装

在ubuntu系统中获取hailo_model_zoo的github文件

 

将hailo_model_zoo/hailo_model_zoo复制到python环境的site-packages文件夹下(一般在~/.conda/envs/hailo/lib/python3.10/site-packages或者~/anaconda3/envs/hailo/lib/python3.10/site-packages),选择合并与替换所有重复的文件和文件夹

按照simple_YOLO完成标签标注和训练的小伙伴可以运行步骤二下载的simple_YOLO项目中的程序,从voc(xml)格式的标签开始构建转换hailo所需要用到的coco数据格式

 

 其中mytrain为训练时输入的文件名,如果训练时更改了这里也要随之更改。

此时在训练文件夹下会生成class.json,作为后续使用hailo8l的detection程序需要用到的json文件。

如果只有yolo官方的txt标签格式的小伙伴,可以按以下目录放置数据集

 

随后运行以下程序

 

其中class.yaml为类别顺序对应文件,参考yolo官方给出的格式,/path/to改为class.yaml文件所在路径

 

等待程序运行完毕以后在data/datasets文件夹下会有models_files文件夹。

将这个文件夹按以下命令移动到hailo默认数据位置。(如果是使用其他机器进行训练和运行转换程序的,要先将models_files文件夹传到执行模型转换的ubuntu系统中

 

其中/path/to改为models_files文件夹原来所在的路径

此时coco_make文件夹会生成class.json,作为后续使用hailo8l的detection程序需要用到的json文件。

为了能将yolov8和yolov10的模型转换为hef格式,需要对一些库的版本进行调整

 

输入以下命令进行转换

 
  • yolov8n :模型训练的参照,可以改为yolov10n
  • --ckpt=best.onnx :你自己的best.pt转化的.onnx模型
  • --hw-arch hailo8l :你购买的ai_kit硬件型号
  • --classes 30 :模型检测类别的数量
  • 这里可以添加参数--calib-path weights/test/images/ :校准的图像路径,但是前文已经做出对应的数据集并放到默认的路径,这里不需要额外指定

模型参照有以下模型可以选择

这个过程需要时间较长请耐心等待。值得注意的是,前面制作数据集的时候如果图片数量小于1024张,则转换过程中不会根据数据集对模型进行优化。

 由此得到了需要的HEF模型文件。

参考树莓派官方:AI Kit - Raspberry Pi Documentation

这里做简要翻译

安装系统需要的库

 
 
 

用 sudo reboot 重启树莓派

安装hailo需要的库

 

用 sudo reboot 重启树莓派

检查安装是否完成

 
 

步骤与hailo官方资料一样

hailo-rpi5-examples/doc/basic-pipelines.md at main · hailo-ai/hailo-rpi5-examples

这里做简要翻译

在树莓派5B上克隆代码库

 

进入项目路径

 

激活环境

 

安装依赖

 

 其中rapidjson-dev库一般不会自动安装,若未安装请用以下命令安装

 

下载资源

 

编译程序

 
 

将步骤三得到的class.json和hef模型文件传到树莓派,激活环境后运行检测程序


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号