当前位置:   article > 正文

yolov9 瑞芯微 rknn 部署 C++代码_yolov9 转rknn

yolov9 转rknn

   yolov9目标检测rknn的C++部署来了。

   特别说明:如有侵权告知删除,谢谢。

  直接上代码和模型,欢迎参考交流 【完整代码和模型】

1、rknn模型准备

  pytorch转onnx,onnx再转rknn模型这一步就不再赘述,请参考上一篇 【yolov9 瑞芯微芯片rknn部署、地平线芯片Horizon部署、TensorRT部署】

2、C++ 代码

  模型和图片读取部分参考rknn官方提供的示例,详细代码请参本实例对应的github仓库,代码和模型 。本实例提供的完整代码也就只包含两个.c文件和一个.h 文件,阅读起来没啥难度。

3、编译运行

1)编译

cd examples/rknn_yolov9_demo_dfl_open

bash build-linux_RK3588.sh
  • 1
  • 2
  • 3

2)运行

cd install/rknn_yolov9_demo_Linux

./rknn_yolov9_demo
  • 1
  • 2
  • 3

  注意:修改模型、测试图像、保存图像的路径,所在文件为 src 下main.cc文件。示例使用的类别时80类,自己的数据注意修改类别,在 include 下 postprocess.h 文件。

4、板端效果

pytorch测试效果
在这里插入图片描述
  onnx测试效果,冒号“:”前的数子是coco的80类对应的类别,后面的浮点数是目标得分。(类别:得分)
在这里插入图片描述

5、后处理时耗

  训练代码参考官方开源的yolov9训练代码,考虑到有些板端对SiLU的支持有限,本示例训练前把激活函数SiLU替换成了ReLU,训练使用的模型配置文件是yolov9.yaml,输入分辨率640x640。用 from thop import profile 统计的模型计算量和参数量 Flops: 120081612800.0(120G),Params: 55388336.0(55M)。
在这里插入图片描述
  由于模型的计算量在这里,所以推理时耗长也在意料之中,当然可以考虑用yolov9小一点模型配置。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/737749
推荐阅读
相关标签
  

闽ICP备14008679号