瑞芯微RV1126/1109开发流程之yolov5部署(c++版本)

本文详细指导如何在Ubuntu系统上为RV1126设备安装交叉编译工具链,包括使用下载包和apt安装,重点在于如何修改环境变量与编译rknn_yolov5_demo工程,最终实现模型在嵌入式设备上的运行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ubuntu上安装rv1126交叉编译工具链

方式一:

(1)下载交叉编译工具

交叉编译器概念:交叉编译器可以使我们在主机上编译出可以在嵌入式设备上运行的程序

下载地址:Downloads | GNU-A Downloads – Arm Developer

(2)下载后解压,解压命令 

xz -d gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
tar -xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar

(3)解压完成后将解压目录设置到bash里,设置环境变量

export PATH=/home/ss/RV1126/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH
source ~/.bashrc

(4)验证查看版本信息

方式二:

通过apt安装,本人未操作过 

sudo apt-get install gcc-aarch64-linux-gnu#安装64位用于操作系统的交叉编译器,gcc版本是5.4,安装位置在/usr/bin 
sudo apt-get install gcc-arm-linux-gnueabihf#安装32位用于操作系统的交叉编译器,gcc版本是5.4,安装位置在/usr/bin

2、编译瑞芯微官方给的yolov5_demo的c++工程

ps :Demo中提供了一个高性能版本的rknn模型:model/yolov5s-640-640.rknn。对应的onnx模型是convert_rknn_demo/yolov5/onnx_models/yolov5s_rm_transpose.onnx,该模型是预测80类coco数据集的yolov5s改进结构,将Slice层训练和导出onnx模型过程请参考GitHub - airockchip/yolov5: YOLOv5 in PyTorch > ONNX > CoreML > TFLite

 源码位置在https://github.com/rockchip-linux/rknpu/tree/master/rknn/rknn_api/examples/rknn_yolov5_demo

(1)修改bush.sh里交叉编译链的路径

GCC_COMPILER=~/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf

修改为:

GCC_COMPILER=/home/ss/RV1126/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf

(2)执行

./build.sh

(3) 推送执行文件到板子(rv1126设备)上

        1)连接板子至设备

usb连接方式:adb shell

网线连接方式:ssh root@192.168.0.1登录密码默认root

        2)推送

adb push install/rknn_yolov5_demo /userdata/

(4)运行并测试

cd /userdata/rknn_yolov5_demo/
./run_rv1109_rv1126.sh

 运行结果:

要训练自己的Yolov5部署RV1126上,可以按照以下步骤进行操作: 1. 首先,你需要在Yolov5的data目录下创建一个用于训练配置的yaml文件。在该文件中,指定训练集和验证集的路径,可以使用相对路径或绝对路径,确保训练集和验证集都是路径的子目录。 2. 在命令行中使用以下命令开始训练: ``` python train.py --epochs <训练轮数> --weights <模型权重> --data <配置文件路径> --batch <批量大小> ``` 其中,`--epochs`表示训练的轮数,建议设置为至少200;`--weights`表示使用的预训练模型,选择一个简单的模型如yolov5s可以加快训练速度;`--data`指定刚才创建的配置文件路径;`--batch`表示每次训练使用的样本数量,根据你的显卡显存大小适当调整。 3. 训练完成后,在`yolov5/runs/train/expX`目录下会生成训练权重和相关的训练日志文件,其中X是一个递增的数字,选择最大的数字对应的目录,即为最新的训练结果。 接下来是一些相关问题: 相关问题: 1. 如何在Yolov5中使用自己的数据集进行训练? 2. Yolov5的模型权重有哪些可选项?它们之间有什么区别? 3. 如何在RV1126部署训练好的Yolov5模型? 4. Yolov5的训练轮数对结果有什么影响? 5. 如何选择合适的批量大小进行训练? 6. 如何评估训练好的Yolov5模型的性能? 7. 有没有一些优化训练过程的技巧或策略可以分享?
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值