Toybrick

1808S0 升级不了rknn的api版本

starrynight

新手上路

积分
15
楼主
发表于 2020-12-24 06:46:28    查看: 9700|回复: 4 | [复制链接]    打印 | 只看该作者
当前API版本1.2.0,DRV版本1.4.0. sudo dnf update 后没变化
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.2.0 (1190a71 build: 2019-09-25 12:30:47)
D RKNNAPI:   DRV: 1.4.0 (b4a8096 build: 2020-09-14 11:15:57)
D RKNNAPI: ==============================================

[toybrick@rk1808 ~]$ cat /proc/version
Linux version 4.4.189 (jiang@inno) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #4 SMP PREEMPT Fri Oct 23 10:28:52 CST 2020

[toybrick@rk1808 ~]$ rpm -qa |grep toybrick-server
toybrick-server-1.5.2-0.rk1808.fc28.aarch64

[toybrick@rk1808 ~]$ sudo dnf update -y
Last metadata expiration check: 0:00:00 ago on Wed 23 Dec 2020 10:44:39 PM EST.
Dependencies resolved.
Nothing to do.
Complete!

不知道是不是api版本和drv版本不一致,导致的yolov3和转换后的rknn模型推理输出不一致。求指导,先排除是不是这个原因。

回复

使用道具 举报

jefferyzhang

版主

积分
13600
沙发
发表于 2020-12-24 08:54:21 | 只看该作者
API版本是看你运行的客户端程序的,如果你跑rknn-toolkit,那就是toolkit版本要上去。
跑C API,那你link的so版本要上去。
只有DRV是跟固件相关的。
回复

使用道具 举报

starrynight

新手上路

积分
15
板凳
 楼主| 发表于 2020-12-24 10:52:12 | 只看该作者
jefferyzhang 发表于 2020-12-24 08:54
API版本是看你运行的客户端程序的,如果你跑rknn-toolkit,那就是toolkit版本要上去。
跑C API,那你link的 ...

跑的rknn-toolkit, 升到1.4.0后。init_runtime有报错:找不到模块。rknn.list_devices()是能查到的。

*************************
all device(s) with ntb mode:
TS018083201100586
*************************
--> Loading model
done
--> Init runtime environment
D target set by user is: rk1808
E Catch exception when init runtime!
E Traceback (most recent call last):
E   File "rknn\api\rknn_base.py", line 1128, in rknn.api.rknn_base.RKNNBase.init_runtime
E   File "rknn\api\rknn_runtime.py", line 160, in rknn.api.rknn_runtime.RKNNRuntime.__init__
E   File "rknn\api\rknn_runtime.py", line 225, in rknn.api.rknn_runtime.RKNNRuntime._load_library
E   File "D:\anaconda3\envs\py_3_6_8_toybrick\lib\ctypes\__init__.py", line 348, in __init__
E     self._handle = _dlopen(self._name, mode)
E OSError: [WinError 126] 找不到指定的模块。
E Current device id is: TS018083201100586
E Devices connected:
E ['TS018083201100586']
Init runtime environment failed

相关代码:
    # Create RKNN Object
    rknn = RKNN(verbose=True)

    # Get devices list
    rknn.list_devices()

    # Load model
    print('--> Loading model')
    ret = rknn.load_rknn(path='./yolov3.rknn')
    if ret != 0:
        print('Load model failed!')
        exit(ret)
    print('done')

    # init runtime environment
    print('--> Init runtime environment')
    ret = rknn.init_runtime(target='rk1808', device_id='TS018083201100586')
    if ret != 0:
        print('Init runtime environment failed')
        exit(ret)
    print('done')
回复

使用道具 举报

jefferyzhang

版主

积分
13600
地板
发表于 2020-12-24 11:01:35 | 只看该作者
你这明显是上位机环境装的有问题,请按对应的环境安装不同版本的rknn-toolkit
https://github.com/rockchip-linux/rknn-toolkit
回复

使用道具 举报

starrynight

新手上路

积分
15
5#
 楼主| 发表于 2020-12-24 13:05:10 | 只看该作者
jefferyzhang 发表于 2020-12-24 11:01
你这明显是上位机环境装的有问题,请按对应的环境安装不同版本的rknn-toolkit
https://github.com/rockchip ...

谢谢提示,已解决。
回复

使用道具 举报

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

本版积分规则

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


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