RK93399pro 运行rknn,init_runtime() 卡死问题

通过ssh连接板子,使用瑞芯微example里的tflite/mobilenet_v1/test.py 跑测试npu

运行到rknn,init_runtime() ,控制台显示如下内容就卡死,ssh连接断开,板子外接hdmi看到板子界面卡死
firefly@firefly:~/mobilenet_v1$ python3 test.py
→ config model
done
→ Loading model
done
→ Building model
done
→ Export RKNN model
done
→ Init runtime environment
I NPUTransfer: Starting NPU Transfer Client, Transfer version 1.9.8 (cab3961@2019-12-12T09:54:26)

谢谢各位路过的大神,
附一下test.py代码
[b]import numpy as np
import cv2
from rknn.api import RKNN

def show_outputs(outputs):
output = outputs[0][0]
output_sorted = sorted(output, reverse=True)
top5_str = ‘mobilenet_v1\n-----TOP 5-----\n’
for i in range(5):
value = output_sorted[i]
index = np.where(output == value)
for j in range(len(index)):
if (i + j) >= 5:
break
if value > 0:
topi = ‘{}: {}\n’.format(index[j], value)
else:
topi = ‘-1: 0.0\n’
top5_str += topi
print(top5_str)

if name == ‘main’:

# Create RKNN object
rknn = RKNN()

# pre-process config
print('--> config model')
rknn.config(channel_mean_value='127.5 127.5 127.5 127.5', reorder_channel='0 1 2')
print('done')

# Load tensorflow model
print('--> Loading model')
ret = rknn.load_tflite(model='./mobilenet_v1.tflite')
if ret != 0:
    print('Load mobilenet_v1 failed!')
    exit(ret)
print('done')

# Build model
print('--> Building model')
ret = rknn.build(do_quantization=True, dataset='./dataset.txt', pre_compile=False)
if ret != 0:
    print('Build mobilenet_v1 failed!')
    exit(ret)
print('done')

# Export rknn model
print('--> Export RKNN model')
ret = rknn.export_rknn('./mobilenet_v1.rknn')
if ret != 0:
    print('Export mobilenet_v1.rknn failed!')
    exit(ret)
print('done')

# Set inputs
img = cv2.imread('./dog_224x224.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# init runtime environment
print('--> Init runtime environment')
ret = rknn.init_runtime(device_id='0123456789ABCDEF')
if ret != 0:
    print('Init runtime environment failed')
    exit(ret)
print('done')

# Inference
print('--> Running model')
outputs = rknn.inference(inputs=[img])
show_outputs(outputs)
print('done')

# perf
print('--> Begin evaluate model performance')
perf_results = rknn.eval_perf(inputs=[img])
print('done')

rknn.release()[/b]

请问你是哪个板子和使用哪个固件,我验证一下

895816513 发表于 2021-1-11 14:22
请问你是哪个板子和使用哪个固件,我验证一下

我也遇到同样的问题,yolov3模型转换后,在init runtime的时候等待时间有15分钟

yolov3.weight exist.
Loading RKNN model
done
→ init runtime
2018-01-29 01:46:58
I NPUTransfer: Starting NPU Transfer Client, Transfer version 1.9.8 (cab3961@2019-12-12T09:54:26)
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI: API: 1.3.0 (c5654ea build: 2019-12-25 12:40:55)
D RKNNAPI: DRV: 0.9.7 (29b085c build: 2019-06-03 14:26:19)
D RKNNAPI: ==============================================
2018-01-29 02:00:13
done
→ inference
2018-01-29 02:00:13
2018-01-29 02:00:13
done

895816513 发表于 2021-1-11 14:22
请问你是哪个板子和使用哪个固件,我验证一下

板子已经快递发到售后了,AIO-3399ProC

同遇到相同的问题。
ADB devices可以正常检测到device。
把device id写入init_runtime()就会报同样的错误。

Caaaaatter 发表于 2021-1-25 11:07
板子已经快递发到售后了,AIO-3399ProC

AIO-3399ProC
我也是同样的问题,尝试使用了rknn 1.3, 1.4, 1.6都是这个问题
不知道是板子有问题,还是那里的问题
可以给提供一些排查问题的方法吗

楼上各位,我也遇到了同样的问题。我用的C的yolov3,在rk3399pro的板子上面跑。之前用rknn 1.6进行的model 转换和量化。
然而,在板子上面跑到init的时候就卡住不动了,很久都没反应,logcat没有卡住,可以看到程序依然在运行。
请问yolo的init time这么久应该怎么解决呢?

你超级厉害 发表于 2021-1-18 13:46
我也遇到同样的问题,yolov3模型转换后,在init runtime的时候等待时间有15分钟

yolov3.weight exist. …

你好,我也遇到了这个问题,init runtime,有的时候正常,有的时候卡住不动,请问你这个问题后面怎么解决的呢

用1.7.1的rknn-toolkit