Toybrick

rknn_init, recv(MsgLoadAck) fail, -9(ERROR_PIPE) != 368!

alpcool

注册会员

积分
66
楼主
发表于 2019-11-26 16:15:46    查看: 7881|回复: 9 | [复制链接]    打印 | 只看该作者
初始化模型报错,大佬们,麻烦看一下这个是什么问题,固件和toolkit都已经使用最新版本rknn_init,  recv(MsgLoadAck) fail, -9(ERROR_PIPE) != 368!
rknn_init fail! ret=-3
rknn-toolkit:1.2.1
tensorflow:1.12.0
固件版本:V1.5
API: 1.2.0 (db63ace build: 2019-09-17 14:23:55)


DRV: 0.9.9 (8509ec7 build: 2019-08-05 10:54:34)
回复

使用道具 举报

jefferyzhang

版主

积分
12952
沙发
发表于 2019-11-26 16:31:13 | 只看该作者
本地仿真正常么?
回复

使用道具 举报

alpcool

注册会员

积分
66
板凳
 楼主| 发表于 2019-11-26 16:40:54 | 只看该作者

没有跑过,这个模型,我之前使用预装都固件(应该是V1.2)是能初始化成功的,只是推理异常慢,而且结果不正确,所以我刷了1.5的固件,结果出了这个问题

我使用的是RK3399Pro,在android下通过JNI调用RKNN API来使用的
回复

使用道具 举报

jefferyzhang

版主

积分
12952
地板
发表于 2019-11-26 16:57:25 | 只看该作者
是不是转换模型的rknn toolkit和本地api版本不匹配。
如果你换了新固件,toolkit也要用新的来转rknn
回复

使用道具 举报

alpcool

注册会员

积分
66
5#
 楼主| 发表于 2019-11-26 17:18:57 | 只看该作者
jefferyzhang 发表于 2019-11-26 16:57
是不是转换模型的rknn toolkit和本地api版本不匹配。
如果你换了新固件,toolkit也要用新的来转rknn ...

模型是用rknn-toolkit1.2.1转换生成的,在2个固件上跑的是同一个模型文件,api也都是是1.2.0,区别是2个固件的DRV版本不一样,之前固件是0.9.4,V1.5的固件是0.9.9

当前的状态就是,V1.5的固件,使用rknn-toolkit1.2.1转换的模型,使用1.2.0的API
回复

使用道具 举报

jefferyzhang

版主

积分
12952
6#
发表于 2019-11-26 17:23:51 | 只看该作者
toolkit 1.2.1 必须搭配 0.9.9或者1.2.0的Drv
如果0.9.9不能用,你应该是踩到坑了,可以把模型和转换代码一起发给我们,我找人debug下。

不过建议你本地仿真也跑一下,预防1.2.1转出来模型就有问题。
回复

使用道具 举报

kaishi

中级会员

积分
306
7#
发表于 2019-12-1 15:05:29 | 只看该作者
My platform has the same issue sometimes. It doesn't happen all the time.
Below is the printout during the run:

D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.2.0 (db63ace build: 2019-09-17 14:23:41)
D RKNNAPI:   DRV: 0.91 (237fb1a build: 2018-12-29 16:46:59)
D RKNNAPI: ==============================================

Is DRV-version 0.91 too old? How do I update new DRV?

回复

使用道具 举报

alpcool

注册会员

积分
66
8#
 楼主| 发表于 2019-12-4 10:32:20 | 只看该作者
jefferyzhang 发表于 2019-11-26 17:23
toolkit 1.2.1 必须搭配 0.9.9或者1.2.0的Drv
如果0.9.9不能用,你应该是踩到坑了,可以把模型和转换代码一 ...

模型不太方便提供,这个是转换的代码:

  1. from rknn.api import RKNN

  2. rknn = RKNN(verbose=True)
  3. #

  4. TF_model = rknn.load_tensorflow(
  5.     tf_pb="./tf_models/model.pb",
  6.     inputs= ['Placeholder'],
  7.     outputs= ['output_node'],
  8.     input_size_list=[[1,256,1]]
  9.     )

  10. ret = rknn.build(do_quantization=False, pre_compile=False)

  11. ret = rknn.export_rknn(export_path = './rknn/test_one.rknn')
复制代码
回复

使用道具 举报

alpcool

注册会员

积分
66
9#
 楼主| 发表于 2019-12-4 10:33:13 | 只看该作者
kaishi 发表于 2019-12-1 15:05
My platform has the same issue sometimes. It doesn't happen all the time.
Below is the printout duri ...

刷入最新的固件DRV就能升级到0.9.9了
回复

使用道具 举报

alpcool

注册会员

积分
66
10#
 楼主| 发表于 2019-12-24 11:51:34 | 只看该作者
本帖最后由 alpcool 于 2019-12-24 11:57 编辑
jefferyzhang 发表于 2019-11-26 17:23
toolkit 1.2.1 必须搭配 0.9.9或者1.2.0的Drv
如果0.9.9不能用,你应该是踩到坑了,可以把模型和转换代码一 ...

这是模型文件和转换代码,麻烦看一下
另外,仿真环境下初始化也报错:
  1. /root/anaconda3/envs/tensorflow/lib/python3.6/site-packages/onnx_tf/common/__init__.py:87: UserWarning: FrontendHandler.get_outputs_names is deprecated. It will be removed in future release.. Use node.outputs instead.
  2.   warnings.warn(message)
  3. W Verbose file path is invalid, debug info will not dump to file.
  4. -->loading model
  5. load model done:0
  6. --> init runtime environment
  7. I When we run model on simulator, we do not need set perf_debug to get layer performance.
  8. #productname=VSI SIMULATOR, pid=0x82
  9. Created VX Thread: 50aea700
  10. Segmentation fault (core dumped)
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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


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