<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p>
讯享网
讯享网
1.2.1 自己尝试的方式
我看连着板子操作比较麻烦,我也没有可以直连的机器,我就尝试直接在板子上跑,没想到也可以,现在将代码分享一下,有需要的可以参考。
讯享网
【遇到问题1】
运行yolov8_pose_demo.py脚本,出现如下图所示的奇葩结果。

讯享网
【解决方案1】
最后经别人提示,发现是通道问题,rk的通道顺序是HWC。注释代码中的这句话即可。
#infer_img = np.transpose(infer_img, (2, 0, 1)) # 将 HWC 转为 CHW

【遇到问题2】
from rknn.api import RKNN
报错没有RKNN。
【解决方案2】
在板子上,没有RKNN,应该为RKNNLite,将
from rknn.api import RKNN修改为from rknnlite.api import RKNNLite as RKNN即可。
1.2.2 官方推荐方式
连板调试,文档地址: https://github.com/airockchip/rknn-toolkit2/blob/master/doc/01_Rockchip_RKNPU_Quick_Start_RKNN_SDK_V2.2.0_CN.pdf。
在线阅读可能加载不全,建议下载浏览。



- 更新librknnrt.so库
- 查看librknnrt.so库版本
讯享网
- 更新服务
- 查看服务版本
讯享网
讯享网
【遇到问题1】
执行运行命令https://blog.csdn.net/weixin_/article/details/rknn_yolov8_pose_demo https://blog.csdn.net/weixin_/article/details/yolov8_pose_rk3588.rknn https://blog.csdn.net/weixin_/article/details/1.jpg后,rknn_init函数报错,但是用的就是官方demo文件,我本身没有做修改。

【解决方案1】
查看报错代码,提示传入参数错误。

查文档,发现允许传入rknn模型路径与二进制数据。官方demo中传入的是rknn模型路径,但是传入rknn模型路径会报错,改为传入rknn模型的二进制数据解决。

【遇到问题2】
模型读入正确了,rknn_init函数又报错。

【解决方案2】
查看文档,根据返回值-3,是NPU设备不可用。

刚开始以为是npu驱动问题,通过以下命令查看,发现也没有问题。
dmesg | grep -i rknpu

最后更新了rknn_server版本,librknnrt.so库版本,要与所用的toolkit版本一致rknn-toolkit2.1.0。
strings /usr/bin/rknn_server | grep -i “rknn_server version”

strings /usr/lib/librknnrt.so | grep -i “librknnrt version”

但是发现,还是不行。
最后ldd rknn_yolov8_pose_demo发现,是我链接的库错了!!!
刚开始链接的库为librknn_api.so,最后修改,保证链接的运行时库为librknnrt.so,然后解决。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/180624.html