Firefly开源社区

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

20

积分

0

威望

0

贡献

技术小白

积分
20
发表于 2021-1-7 18:16:35     
通过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)


回复

使用道具 举报

20

积分

0

威望

0

贡献

技术小白

积分
20
发表于 2021-1-7 18:18:39     
谢谢各位路过的大神,
附一下test.py代码
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
        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()
回复

使用道具 举报

308

积分

0

威望

6

贡献

技术达人

Rank: 2

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

使用道具 举报

15

积分

0

威望

0

贡献

技术小白

积分
15
发表于 2021-1-18 13:46:56     
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
回复

使用道具 举报

20

积分

0

威望

0

贡献

技术小白

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

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

使用道具 举报

111

积分

0

威望

0

贡献

技术小白

积分
111
发表于 2021-1-29 18:33:18     
同遇到相同的问题。
ADB devices可以正常检测到device。
把device id写入init_runtime()就会报同样的错误。
回复

使用道具 举报

22

积分

0

威望

0

贡献

技术小白

积分
22
发表于 2021-5-15 20:50:02     
Caaaaatter 发表于 2021-1-25 11:07
板子已经快递发到售后了,AIO-3399ProC

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

使用道具 举报

111

积分

0

威望

0

贡献

技术小白

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

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表