Toybrick

标题: 模型转换成功后推理失败 [打印本页]

作者: qliu    时间: 2019-11-19 21:59
标题: 模型转换成功后推理失败
一个 tensorflow 的模型通过 rknn.build() 和 rknn.export_rknn() 生成了 .rknn 文件。在用 rknn.load_rknn() 载入模型后,用 rknn.init_runtime() 的时候失败。在 x86/rk3399pro 上都没有运行成功。rk3399pro 的错误如下:
E RKNNAPI: rknn_init,  recv(MsgLoadAck) fail, -9 != 368!
E Catch exception when init runtime!
T Traceback (most recent call last):
T   File "rknn/api/rknn_base.py", line 617, in rknn.api.rknn_base.RKNNBase.init_runtime
T   File "rknn/api/rknn_runtime.py", line 378, in rknn.api.rknn_runtime.RKNNRuntime.build_graph
T Exception: RKNN init failed. error code: RKNN_ERR_DEVICE_UNAVAILABLE


x86 的错误如下:Create RKNN model fail!
E Catch exception when init runtime!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 788, in rknn.api.rknn_base.RKNNBase.init_runtime
E   File "rknn/api/rknn_runtime.py", line 303, in rknn.api.rknn_runtime.RKNNRuntime.build_graph
E Exception: RKNN init failed. error code: RKNN_ERR_DEVICE_UNAVAILABLE
P83382 2019-11-19 21:52:42,370 E [enhancement.py:37] failed to initialize rknn
Traceback (most recent call last):
  File "main.py", line 10, in <module>
    patt='*.jpg', show_sl=True, debug=True, image_part='left')
  File "/opt/home/qliu/workspace/monocular-contactless/monocular/sl_finger.py", line 834, in process_unroll_monocular_finger_frames
    enhancer = ImageEnhancement()
  File "/opt/home/qliu/workspace/monocular-contactless/monocular/enhancement.py", line 38, in __init__
    raise RuntimeError("failed to initialize rknn")
RuntimeError: failed to initialize rknn



请问是什么原因?

作者: qliu    时间: 2019-11-20 10:17
hisping 发表于 2019-11-20 08:53
再安装最新的rknn-toolkit试一下
实在不行可以重烧固件再试

都是最新的。烧固件的话是烧 wiki (http://t.rock-chips.com/wiki.php?mod=view&id=11) 上的 federa 吗?

[toybrick@localhost monocular-contactless]$ sudo dnf localinstall --nogpgcheck http://repo.rock-chips.com/fedor ... -4.fc28.aarch64.rpm
Last metadata expiration check: 0:00:00 ago on Tue 19 Nov 2019 08:48:10 PM EST.
rockchip-repo-1.0-4.fc28.aarch64.rpm                                                                                                                                                                  131 kB/s | 8.6 kB     00:00
Package rockchip-repo-1.0-4.fc28.aarch64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[toybrick@localhost monocular-contactless]$ sudo dnf clean all
41 files removed
[toybrick@localhost monocular-contactless]$ sudo dnf update
Fedora Modular 28 - aarch64                                                                                                                                                                            61 kB/s | 159 kB     00:02
Fedora Modular 28 - aarch64 - Updates                                                                                                                                                                 425 kB/s | 1.5 MB     00:03
Fedora 28 - aarch64 - Updates                                                                                                                                                                         158 kB/s |  27 MB     02:53
Fedora 28 - aarch64                                                                                                                                                                                   3.9 MB/s |  54 MB     00:13
Rockchip 28 - aarch64                                                                                                                                                                                 475 kB/s |  48 kB     00:00
Last metadata expiration check: 0:00:01 ago on Tue 19 Nov 2019 08:55:56 PM EST.
Dependencies resolved.
Nothing to do.
Complete!
作者: qliu    时间: 2019-11-21 10:21
在升级 rknn-toolkit 到 1.2.1 后,在 rk3399pro 上 rknn.load_tensorflow()/rknn.build()/rknn.export_rknn() 执行成功,在执行 rknn.init_runtime() 时失败:

D Packing gen_1/up_sample_conv_2/conv2d_transpose_152 ...
I Build config finished.
P20129 2019-11-20 06:01:55,253 I [enhancement.py:29] built rknn model
P20129 2019-11-20 06:01:55,268 I [enhancement.py:35] exported rknn model
I npu_transfer_proxy pid: 619, status: sleeping
D NPUTransfer: efuseid = 3399:0000000000000000
D NPUTransfer: Transfer spec = local:transfer_proxy
D NPUTransfer: Transfer interface successfully opened, fd = 5
E RKNNAPI: rknn_init,  msg_load_ack fail, ack = 1(ACK_FAIL), expect 0(ACK_SUCC)!
E RKNNAPI: ==============================================
E RKNNAPI: RKNN VERSION:
E RKNNAPI:   API: 1.2.0 (1190a71 build: 2019-09-25 12:39:26)
E RKNNAPI:   DRV: 0.9.9 (8509ec7 build: 2019-08-05 10:54:34)
E RKNNAPI: ==============================================
D NPUTransfer: Transfer client closed, fd = 5
E Catch exception when init runtime!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 788, in rknn.api.rknn_base.RKNNBase.init_runtime
E   File "rknn/api/rknn_runtime.py", line 303, in rknn.api.rknn_runtime.RKNNRuntime.build_graph
E Exception: RKNN init failed. error code: RKNN_ERR_MODEL_INVALID
P20129 2019-11-20 06:01:58,024 E [enhancement.py:45] failed to initialize runtime

能帮忙看下是什么原因吗?完整日志在附件中。


作者: feihu_h    时间: 2019-11-22 10:08
qliu 发表于 2019-11-21 10:21
在升级 rknn-toolkit 到 1.2.1 后,在 rk3399pro 上 rknn.load_tensorflow()/rknn.build()/rknn.export_rkn ...

我也是出现这样的错误,反复检查模型没有问题啊,量化为false,也是不行。
作者: qliu    时间: 2019-11-22 10:35
重新刷了 wiki 里面的 fedora 固件 TB-RK3399ProD-v1.5.zip,并且用了 rknn-toolkit 1.2.1,还是同样的问题。。




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3