小伍wyf
1
用户您好,请详细描述您所遇到的问题:
- 系统软件版本: x3_ubuntu_v1.1.5
- 问题涉及的技术领域: ai工具链
- 问题描述:我在工具链中模型通过check,并且生成.bin文件了,但是上版测试的时候出现unsupported layer:HzRsqrt ,Load model failed, model file:/root/weights/rpv3_mdict_160_r3.bin 。现象如下
通过论坛发现https://developer.horizon.ai/forumDetail/146176821770229949,这个帖子出现过这个问题。我通过将docker升级到oe2.5.2版本,并进入ddk/package/board上运行install.sh。完成之后我发现问题并未解决,runtime版本还是1.9.7。
在评论中我发现需要重新编译runtime sample的示例就可以得到libdnn.so和libhbrt_bernoulli_aarch64.so,我将x3pi中的/usr/lib/hbbpu/文件下的libdnn.so和libhbrt_bernoulli_aarch64.so替换掉。发现runtime成功更新到1.17.3版本,但是模型仍然导入失败(其他原本可以成功导入的bin文件也失败)
rpv3_mdict_160_r3_20230522144029.onnx
颜值即正义
2
您好,地平线工具链在持续迭代优化,为了给您提供更好的服务,希望您能抽出3分钟左右的时间,将您在使用工具链期间的感受和建议告诉我们,您的宝贵意见对我们很重要,非常感谢!
问卷链接:地平线算法工具链使用满意度反馈
颜值即正义
3
已定位到问题,是pythonSDK版本太低,我们正在推动更新。
颜值即正义
4
另外,您需要在oe2.5.2下重新编译生成你的bin模型,不建议用新版本的板端推理库运行旧版本的模型。
颜值即正义
5
您好,先试一下oe2.5.2里的hrt_model_exec工具能否对你的bin模型做性能评测呢?
工具位置:
ddk/package/board/hrt_tools/bin
板端命令:
chmod 777 ./hrt_model_exec
./hrt_model_exec perf xxxxxxxx.bin
小伍wyf
8
pythonSDK版本有具体的更新计划?最近有更新计划?
颜值即正义
9
这个warning可以忽略,perf默认是跑200帧的,可以通过frame_count参数调整跑的帧数,比如设置10,可以比较快得到结果。请耐心等待一下,不要手动ctrl c哦。
颜值即正义
11
那说明这个模型是可以在X3上正常跑起来的,可以再检查一下代码哈。
小伍wyf
12
代码就是最简单的导入模型

下图中上面是runtime1.9.7版本的结果,下面是runtime 1.17.3版本的结果

我觉得应该是runtime的libdnn.so和libhbrt_bernoulli_aarch64.so替换的导致的 我想问一下x3pi板子如何更新为oe2.5.2的runtime版本
颜值即正义
13
你试一下参考horizon_runtime_sample下板端的运行脚本,把相关的so文件放在一个目录里,然后配置完环境变量再运行你的程序。
lib=../../../
export LD_LIBRARY_PATH=${lib}:${LD_LIBRARY_PATH}
小伍wyf
14
我将编译成功的/open_explorer/ddk/samples/ai_toolchain/horizon_runtime_sample/xj3文件复制到x3机器上,里面的sample都可以运行。

但是如果不替换libdnn.so和libhbrt_bernoulli_aarch64.so,python还是dnn.load()模型还是出现下面问题

如果替换libdnn.so和libhbrt_bernoulli_aarch64.so,则会出现

我想问一下有什么方法将oe2.5.2的中重新编译的libdnn.so和libhbrt_bernoulli_aarch64.so更新到x3pi的板子上。
小伍wyf
16
在更新之后,可以在这个贴子下update一下?并附带一下更新教程,谢谢
颜值即正义
18