Toybrick

rknn_api 更新到 >=1.7.0 后程序运行不起来

cdzs_3411

中级会员

积分
419
楼主
发表于 2021-12-10 16:03:52    查看: 20158|回复: 20 | [复制链接]    打印 | 只看该作者
问题描述:rknn_api 更新到 >=1.7.0 后程序运行不起来
运行环境:3399 + rk1808M0 (被动模式)
具体问题
   1》rknn_api 替换到 >=1.7.0 后运行不起来,还原到 1.7.0 之前的 rknn_api 版本可以跑起来,升级 >=1.7.0 是否还需要其他操作?是否需要升级 rk1808M0 驱动?
   2》如果要升级更新 rk1808M0 drivers 有没有详细点的指导文档?
   3》按照 https://gitee.com/caesar-wang/rknpu?_from=gitee_search 上的说明手动 ssh 到计算棒直接替换了 driver & ko 文件导致计算棒系统无法正常启动了,应该如何升级呢?

程序正常运行版本:(同样的DRV版本上,rknn_api试过 1.3.0/1.4.0 都可以)
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.6.1 (00c4d8b build: 2021-03-15 16:31:37)
D RKNNAPI:   DRV: 1.5.0 (83d70a9 build: 2020-09-30 16:25:49)
D RKNNAPI: ==============================================

rknn_api 替换到 >=1.7.0 后
root@Ubuntu16-04:~/rknn_proj/build/example# ./demo
ERROR: can't find librknn_runtime.so
rknn_init fail! ret=-3

ERROR: can't find librknn_runtime.so
model init fail!
Segmentation fault
回复

使用道具 举报

jefferyzhang

版主

积分
13574
沙发
发表于 2021-12-12 15:31:41 | 只看该作者
DRV版本要与API版本相匹配
回复

使用道具 举报

cdzs_3411

中级会员

积分
419
板凳
 楼主| 发表于 2021-12-13 08:54:39 | 只看该作者
jefferyzhang 发表于 2021-12-12 15:31
DRV版本要与API版本相匹配

所以在问 1808M0 固件如何升级呀,使用 FlashTool 的方式固件版本最新只到 1.5.0
----------------
2》如果要升级更新 rk1808M0 drivers 有没有详细点的指导文档?
3》按照 https://gitee.com/caesar-wang/rknpu?_from=gitee_search 上的说明手动 ssh 到计算棒直接替换了 driver & ko 文件导致计算棒系统无法正常启动了,应该如何升级呢?
回复

使用道具 举报

jefferyzhang

版主

积分
13574
地板
发表于 2021-12-13 09:44:33 | 只看该作者
按wiki的apt升级方式升级完是1.7.0
请仔细阅读wiki文档
回复

使用道具 举报

cdzs_3411

中级会员

积分
419
5#
 楼主| 发表于 2021-12-13 16:11:41 | 只看该作者
jefferyzhang 发表于 2021-12-13 09:44
按wiki的apt升级方式升级完是1.7.0
请仔细阅读wiki文档

rk1808S0 是可以通过网络共享方式让计算棒联网进行在线升级,但是rk1808M0 有试过,上位机ubuntu计算棒好像是联不上网的
回复

使用道具 举报

jefferyzhang

版主

积分
13574
6#
发表于 2021-12-13 16:29:48 | 只看该作者
cdzs_3411 发表于 2021-12-13 16:11
rk1808S0 是可以通过网络共享方式让计算棒联网进行在线升级,但是rk1808M0 有试过,上位机ubuntu计算棒好 ...

配制方法是一样的,你首先要让他连上网。。。
回复

使用道具 举报

cdzs_3411

中级会员

积分
419
7#
 楼主| 发表于 2021-12-17 10:31:02 | 只看该作者
本帖最后由 cdzs_3411 于 2021-12-17 10:32 编辑

rk1808M0 使用 https://t.rock-chips.com/wiki.ph ... /TB-RK1808S0#hash_7 中的共享网络的方法始终无法联网,但 rk1808S0是OK的,升级到最新版本的 rk1808S0 编译运行 C 的 api 示例代码依然报同样的错:
》python可以正常跑
  --> Loading rknn model
  --> Init runtime environment
  I NPUTransfer: Starting NPU Transfer Client, Transfer version 2.1.0 (b5861e7@2020-11-23T11:50:51)
  D RKNNAPI: ==============================================
  D RKNNAPI: RKNN VERSION:
  D RKNNAPI:   API: 1.7.1 (566a9b6 build: 2021-10-28 14:56:17)
  D RKNNAPI:   DRV: 1.7.0 (7880361 build: 2021-08-16 16:16:21)
  D RKNNAPI: ==============================================
  done
  --> Running model
  infer time: 0.12665486335754395s

》C 样例代码依然报错:
  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$ ./rknn_ssd_demo ../model/ssd_inception_v2_rk180x.rknn ../model/road.bmp
  Loading model ...
  ERROR: can't find librknn_runtime.so
  rknn_init fail! ret=-3

  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$  ldd ./rknn_ssd_demo
        linux-vdso.so.1 =>  (0x0000007fb78e2000)
        librknn_api.so => /home/rocktech/work/rknn_api_v171/examples/rknn_ssd_demo/../../librknn_api/lib64/librknn_api.so (0x0000007fb78a5000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007fb7878000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fb76e3000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fb7636000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fb7615000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fb74ce000)
        /lib/ld-linux-aarch64.so.1 (0x0000007fb78b7000)
  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$
回复

使用道具 举报

cdzs_3411

中级会员

积分
419
8#
 楼主| 发表于 2021-12-17 16:49:17 | 只看该作者
jefferyzhang 发表于 2021-12-13 16:29
配制方法是一样的,你首先要让他连上网。。。

rk1808M0 使用 https://t.rock-chips.com/wiki.ph ... /TB-RK1808S0#hash_7 中的共享网络的方法始终无法联网,但 rk1808S0是OK的,升级到最新版本的 rk1808S0 编译运行 C 的 api 示例代码依然报同样的错:
》python可以正常跑
  --> Loading rknn model
  --> Init runtime environment
  I NPUTransfer: Starting NPU Transfer Client, Transfer version 2.1.0 (b5861e7@2020-11-23T11:50:51)
  D RKNNAPI: ==============================================
  D RKNNAPI: RKNN VERSION:
  D RKNNAPI:   API: 1.7.1 (566a9b6 build: 2021-10-28 14:56:17)
  D RKNNAPI:   DRV: 1.7.0 (7880361 build: 2021-08-16 16:16:21)
  D RKNNAPI: ==============================================
  done
  --> Running model
  infer time: 0.12665486335754395s

》C 样例代码依然报错:
  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$ ./rknn_ssd_demo ../model/ssd_inception_v2_rk180x.rknn ../model/road.bmp
  Loading model ...
  ERROR: can't find librknn_runtime.so
  rknn_init fail! ret=-3

  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$  ldd ./rknn_ssd_demo
        linux-vdso.so.1 =>  (0x0000007fb78e2000)
        librknn_api.so => /home/rocktech/work/rknn_api_v171/examples/rknn_ssd_demo/../../librknn_api/lib64/librknn_api.so (0x0000007fb78a5000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007fb7878000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fb76e3000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fb7636000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fb7615000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fb74ce000)
        /lib/ld-linux-aarch64.so.1 (0x0000007fb78b7000)
  rocktech@rocktech:~/work/rknn_api_v171/examples/rknn_ssd_demo/build$
回复

使用道具 举报

ljs

新手上路

积分
18
9#
发表于 2021-12-20 14:29:56 | 只看该作者
cdzs_3411 发表于 2021-12-17 16:49
rk1808M0 使用 https://t.rock-chips.com/wiki.ph ... /TB-RK1808S0#hash_7 中的共享网络的方法始终无法 ...

我也是这个问题,把.so拷到usrlib下,原来可以正常推理的python代码会出问题,楼主有解决你的问题么?
回复

使用道具 举报

cdzs_3411

中级会员

积分
419
10#
 楼主| 发表于 2021-12-20 15:15:54 | 只看该作者
ljs 发表于 2021-12-20 14:29
我也是这个问题,把.so拷到usrlib下,原来可以正常推理的python代码会出问题,楼主有解决你的问题么? ...

没解决,你也是api升级1.7.0之前可以正常跑,升到1.7.0之后就报缺库哇?
估计新版本 api 没兼容被动模式的用法,报出来缺少的依赖库都是直接运行在计算棒上的,直接拷贝到上位机程序就会提示“Failed to open device: No such file or directory, Try again...”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表