瑞芯微rk3588部署yolov5模型实战

瑞芯微rk3588部署yolov5模型实战 技术小宅 2024-02-16 15:49:00 1764

模型转换

使用此yolov5 仓库获取yolov5代码以及模型。

通过pt模型转换为onnx模型

python export.py --rknpu rk3588 --weight yolov5s.pt

rk_platform 支持 rk1808、rv1109、rv1126、rk3399pro、rk3566、rk3562、rk3568、rk3588、rv1103、rv1106。(实际上,无论平台如何,导出的模型都是相同的)
’yolov5s.pt’ 可以替换为您的模型路径.
将生成一个文件名“RK_anchors.txt”,可以在外部执行 post_process 时使用它。
注意:请使用–rknpu参数调用,不要更改export.py中的默认rknpu值。

通过onnx模型转换为rknn模型
使用此模型转换库
打开yolo_ppyolo.yml文件

#support yolo[v5,v6,v7,v8], ppyoloe_plus
model_framework: onnx
model_file_path: best_3588B.onnx
RK_device_platform: RK3588

dataset: coco_dataset_20.txt
quantize: True
pre_compile: online

graph:
  in_0:
    shape: 3,640,640
    mean_values: 0
    std_values: 255
    img_type: RGB

configs:
  quantized_dtype: asymmetric_quantized-8
  quantized_algorithm: normal
  optimization_level: 3

根据模型修改 yml 配置文件参数

必填项
model_framework 参数,指定模型来源框架,如 onnx / pytorch.
model_file_path 参数,指定模型路径
RK_device_platform 参数,指定RKNN平台

执行参数说明

可选项
默认使用量化。请注意先准备好COCO测试数据集(下载可参考工程目录下datasets内容)。如不使用量化功能,请将 quantize 参数设为 False
默认不启用预编译功能。如需启用请将 pre_compile 参数设为 online,并通过usb口连接npu设备(此功能仅在 RKNN-Toolkit1 上有效,usb口需要能adb连上npu设备,RKNN-Toolkit2 没有此配置)
如需使用模拟器,请将 RK_device_id 设为 simulator,果是自己训练的模型及数据,请将 dataset 路径指定到对应的训练/测试数据上,model_file_path指定到对应的pt模型路径,模型输入尺寸由 3,640,640 改为 3,h,w,如 3,736,1280。
测试 coco benchmark 时,建议使用 200 - 500 张图片进行量化。


使用以下语句转换

./convert_yolo_ppyolo.sh


出现Exprot RKNN model即为转换成功

使用rknn部署库进行部署
以linux平台为例

编译
根据指定平台修改 uild-linux_<TARGET_PLATFORM>.sh的交叉编译器所在目录的路径 OOL_CHAIN例如修改成

export TOOL_CHAIN=~/opt/tool_chain/gcc-9.3.0-x86_64_aarch64-linux-gnu/host

然后执行:

./build-linux_<TARGET_PLATFORM>.sh

推送执行文件到板子
将 install/rknn_yolo_demo_Linux 拷贝到板子的/data/目录。

adb push install/rknn_yolo_demo_Linux /data/

运行(单图测试)

adb shell
cd /data/rknn_yolo_demo_Linux/

export LD_LIBRARY_PATH=./lib

./rknn_yolo_demo yolov5 q8 single_img ./yolov5s_u8.rknn ./model/RK_anchors_yolov5.txt ./model/dog.jpg

多图测试

cd $(pwd | sed 's/\(rknn_model_zoo\).*/\1/g')
adb push rknn_model_zoo/datasets/COCO/val2017 /userdata/

adb shell
cd /userdata/rknn_yolo_demo/
./rknn_yolo_demo yolov5 q8 multi_imgs ./yolov5s_u8.rknn ./model/RK_anchors_yolov5.txt ./model/coco_dataset_path.txt
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
更多相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
技术小宅
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区