• Lv0
    粉丝1

积分19 / 贡献0

提问2答案被采纳0文章0

运行TFLite 分类demo遇到依赖确实的问题

xuemingdg 显示全部楼层 发表于 2023-10-27 17:16:12

【问题描述】

参考官方demo链接接入TFLite标签分类模型时,在执行到最后一步,推送北向demo至dayu200设备上运行时报了一下错误

/bin/sh: ./label_classify: No such file or directory

而后尝试在ubuntu上使用qemu模拟arm64环境执行编译好的label_classify,结果发现需要解释器ld-musl-aarch64.so.1,在dayu200的OpenHarmony3.2的/lib下没有发现对应的解释器反而有一个ld-musl-arm.so.1 32位系统的解释器,猜想是否是这个原因造成的无法运行demo

【运行环境】

硬件:Dayu200 ROM版本:OpenHarmony3.2 DevEvoStudio版本: SDK版本:

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论9

论坛小助手 官方账号

沙发 发表于 2023-11-1 10:29:13

您好,可以看下这个文档相关的子系统:www.gitee.com/openharmony/ai_neural_network_runtime/tree/master/example/deep_learning_framework

xuemingdg

发表于 2023-11-1 10:40  IP属地: 运营商级NAT

回复 论坛小助手: 您好,这个链接就是我参考的教程我也贴在问题里了,但是最后一步描述很模糊,执行失败了,报错信息也很少,这个怎么解决

Shiyuhan

发表于 2023-11-1 14:31  IP属地: 运营商级NAT

回复 xuemingdg: 你好,我们留意到这篇指导里既可以编译 arm64-v8a 版本,也可以编译 armv7-a 版本,请问您编译的是哪个版本呢?

xuemingdg

发表于 2023-11-1 15:18  IP属地: 运营商级NAT

回复 Shiyuhan: 编译的是arm64v8-a,对编译好的label_classify执行file命令会打印以下内容,label_classify: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-aarch64.so.1, BuildID[sha1]=cc170e98796127db83a270cecbb7ab16fe6f1878, with debug_info, not stripped。另外如果能提供一下能运行的demo里面最后一步推到OpenHarmony设备上面的完整文件清单和目录的话就能更好排查问题

Shiyuhan

发表于 2023-11-1 16:19  IP属地: 运营商级NAT

回复 xuemingdg: 您好,DAYU200 这个版本应该是只支持采用 armv7-a 编译的二进制,还麻烦在 CMakeLists.txt 中修改一下编译选项再尝试一下。

您提到的完整文件清单因为时间有点就,目前记录丢失,正好召回。翻了一下文档,应该包含以下文件:
- libnnrt_implementation.so
- libnnrt_delegate.so
- label_classify
- libneural_network_runtime.z.so
- libtensorflow-lite.so 以及 tensorflow-lite 依赖的动态库
- mobilenetv2.tflite
- labels.txt
- grace_hopper.bmp

xuemingdg

发表于 2023-11-1 17:13  IP属地: 运营商级NAT

回复 Shiyuhan: 好的,那我重新编译一下再试试

xuemingdg

发表于 2023-11-2 14:52  IP属地: 运营商级NAT

回复 Shiyuhan: 你好,重新编译了之后可以运行了,但是报了以下错误信息:
INFO: Use NNRT: [1]
INFO: NNRT delegate created.
ERROR: [NNRT-UTILS] Have no available device.
ERROR: Failed to init NnrtDelegateKernel.
INFO: Applied NNRT delegate.
Signal 11

请问这个是什么意思,是这个dayu200设备不支持nnrt吗

Shiyuhan

发表于 2023-11-7 09:35  IP属地: 运营商级NAT

回复 xuemingdg: 抱歉,遗漏了您的问题。目前NNRt确实还缺少底层对接的AI加速硬件,这块能力正在构建。我们在NNRt的代码仓中提供了基于Mindspore CPU算子的底层服务演示代码,如果您需要在当前设备上调试NNRt的话,可以参考以下链接,编译一个模拟的驱动服务。

https://gitee.com/openharmony/ai ... i%E6%9C%8D%E5%8A%A1

xuemingdg

发表于 2023-11-13 14:24  IP属地: 运营商级NAT

回复 Shiyuhan: 回复的有点晚了,编译了这个基于OHOS 3.2.1 使用mindspore CPU算子的系统,并烧录到Hihope Dayu200上,用dmesg | grep nnrt 查看会报以下错误:
# dmesg | grep nnrt
[    9.831501] [pid=1][Init][INFO][init_service_manager.c:1084]Start service nnrt_host
[    9.832359] [pid=1][Init][INFO][init_common_service.c:387]Service nnrt_host(pid 473) started
[   10.661368] [pid=1][Init][ERROR][init_signal_handler.c:45]Child process nnrt_host(pid 473) exit with code : 255
[   10.661460] [pid=1][Init][INFO][init_signal_handler.c:53]SigHandler, SIGCHLD received, Service:nnrt_host pid:473 uid:3311 status:65280.
[   10.661478] [pid=1][Init][INFO][init_common_service.c:499]Reap service nnrt_host, pid 473.
[   10.662583] [pid=1][Init][INFO][init_common_service.c:387]Service nnrt_host(pid 657) started
[   10.966171] [pid=1][Init][ERROR][init_signal_handler.c:45]Child process nnrt_host(pid 657) exit with code : 255
[   10.966251] [pid=1][Init][INFO][init_signal_handler.c:53]SigHandler, SIGCHLD received, Service:nnrt_host pid:657 uid:3311 status:65280.
[   10.966268] [pid=1][Init][INFO][init_common_service.c:499]Reap service nnrt_host, pid 657.
[   10.967092] [pid=1][Init][INFO][init_common_service.c:387]Service nnrt_host(pid 687) started
[   11.106648] [pid=1][Init][ERROR][init_signal_handler.c:45]Child process nnrt_host(pid 687) exit with code : 255
[   11.106667] [pid=1][Init][INFO][init_signal_handler.c:53]SigHandler, SIGCHLD received, Service:nnrt_host pid:687 uid:3311 status:65280.
[   11.106710] [pid=1][Init][INFO][init_common_service.c:499]Reap service nnrt_host, pid 687.
[   11.107404] [pid=1][Init][INFO][init_common_service.c:387]Service nnrt_host(pid 701) started
[   11.181282] [pid=1][Init][ERROR][init_signal_handler.c:45]Child process nnrt_host(pid 701) exit with code : 255
[   11.181332] [pid=1][Init][INFO][init_signal_handler.c:53]SigHandler, SIGCHLD received, Service:nnrt_host pid:701 uid:3311 status:65280.
[   11.181347] [pid=1][Init][INFO][init_common_service.c:499]Reap service nnrt_host, pid 701.
[   11.181491] [pid=1][Init][ERROR][init_common_service.c:542]Service name=nnrt_host, crash 4 times, no more start.

现在不太清楚应该如何继续了,报错信息不是很详细

【8 条回复】

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部