Toybrick

标题: [Old Version] rknn-toolkit-1.2.0&rknn-api-0.9.9 Release [打印本页]

作者: zhangzj    时间: 2019-2-15 14:37
标题: [Old Version] rknn-toolkit-1.2.0&rknn-api-0.9.9 Release
本帖最后由 jefferyzhang 于 2019-10-25 23:01 编辑

New Version: rknn-toolkit-V1.2.1 & rknn-api-1.2.0
http://t.rock-chips.com/forum.php?mod=viewthread&tid=964&extra=page%3D1


rknn-toolkit-V1.2.0
Baidu Cloud:https://eyun.baidu.com/s/3qZUVUEg
OneDrive:rknn-onedrive

2019-08-23
1.  Add support for model with multiple inputs.
2.  New feature: batch inference.
3.  New feature: model segmentation.
4.  New feature: custom op.

rknn-api-V0.9.9
Baidu Cloud:https://eyun.baidu.com/s/3dzAtcy
OneDrive:rknn-onedrive

Changelog:
1. add support of multi-input.
2. fix inference error when input channel > 3.
3. modify the name of documents.

Note
1.Maintain the version of rknn-toolkit/rknn-api/npuservice correspondence.

2.For ARM platform, the rknn-toolkit and rknn-api released here are for RK3399Pro, NOT for RK1808!


Update Method

1.Update all firmware

Download and flash the V1.5 firmware:http://t.rock-chips.com/portal.php?mod=list&catid=11&product_id=4

2.Update NPU related component only

1) Linux

Update rknn-api and npuservice:
  1. sudo dnf clean all
  2. sudo dnf update -y
复制代码

Update rknn-toolkit:
  1. pip3 install --user rknn_toolkit-1.2.0-cp36-cp36m-linux_aarch64.whl
复制代码

Confirm version:
  1. [toybrick@toybrick work]$ rpm -qa rknn-api npuservice
  2. rknn-api-0.9.9-1.rockchip.fc28.aarch64
  3. npuservice-1.0.5-1.rockchip.fc28.aarch64
复制代码

  1. [toybrick@toybrick packages]$ pip3 show rknn-toolkit
  2. Name: rknn-toolkit
  3. Version: 1.2.0
  4. Summary: Rockchip Neural Network Toolkit
  5. Home-page: UNKNOWN
  6. Author: Rockchip
  7. Author-email: None
  8. License: UNKNOWN
  9. Location: /home/toybrick/.local/lib/python3.6/site-packages
  10. Requires: Pillow, scipy, numpy, flask, onnx, ruamel.yaml, protobuf, lmdb, onnx-tf, h5py, dill, networkx, psutil, flatbuffers
复制代码

The log info when running rknn-api:

D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 0.9.9 (80bad59 build: 2019-07-16 09:39:49)
D RKNNAPI:   DRV: 0.9.9 (8509ec7 build: 2019-08-05 10:54:34)
D RKNNAPI: ==============================================

Attention: reboot the board after update!


2.Android(Update V1.5 firmware)

Download and flash the V1.5 firmware:http://t.rock-chips.com/portal.php?mod=list&catid=11&product_id=4


=========================================== 华丽的分割线 ===========================================================

rknn-toolkit-V1.1.0
官方已发布rknn-toolkit-1.1.0版本。百度网盘下载地址:https://eyun.baidu.com/s/3qZUVUEg
海外OneDrive下载地址:rknn-onedrive
2019-08-07
版本:v1.1.0
1. 新增对TB-RK1808 AI计算棒的支持。
2. 新增接口list_devices,用来查询已连接设备信息。
3. 支持使用Python 3.5的ARM64 Linux平台。
4. 支持Windows / Mac OS X操作系统。

rknn-api-V0.9.8
百度网盘下载地址:https://eyun.baidu.com/s/3dzAtcy
海外OneDrive下载地址:rknn-onedrive
changelog:
1.add rknn_init2 function for multi-device support
2.support precompile function for rknn-toolkit
3.add x86 linux support
4.add support of rknn_batch_size.
5.add devices query function.


Note:
1.rknn-toolkit、rknn-api、npuservice三个组件最好保持更新的版本一致,即.rknn模型用新版本的rknn-toolkit重新转换生成。

更新方法:
1.Linux更新:
  sudo dnf clean all
  sudo dnf update -y
  更新完成后需要重启开发板。
  版本确认:
[toybrick@localhost build]$ rpm -qa rknn-api npuservice
rknn-api-0.9.8-1.rockchip.fc28.aarch64
npuservice-1.0.4-1.rockchip.fc28.aarch64
运行时版本打印如下:
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 0.9.8 (e0c7840 build: 2019-06-28 10:49:53)
D RKNNAPI:   DRV: 0.9.8 (943f8e8 build: 2019-07-03 17:51:17)
D RKNNAPI: ==============================================


2.Android更新(V1.4版本固件中更新):
下载官方更新的固件:http://t.rock-chips.com/wiki.php?mod=view&id=11

=========================================== 华丽的分割线 ===========================================================

rknn-toolkit-V1.0.0
官方已发布rknn-toolkit-1.0.0版本。百度网盘下载地址:https://eyun.baidu.com/s/3qZUVUEg
海外OneDrive下载地址:rknn-onedrive
2019-05-08
版本:v1.0.0
1. inference接口支持输入透传模式。
2. 初始化运行环境时支持异步模型。
3. 新功能:混合量化。
4. 优化pre-compile模型的加载时间。新版本工具生成的预编译模型无法在NPU驱动版本号小于0.9.6的设备上运行;旧版本生成的预编译模型也无法在新版本驱动上运行。
5. 调整模型推理结果的排列顺序:在1.0.0以前,如果原始模型输出的结果是按"NHWC"排列(例如TensorFlow模型),则工具会把结果转成"NCHW";从1.0.0版本开始,将不做这个转换,而是保持跟原始模型的排列一致。

rknn-api-V0.9.5
百度网盘下载地址:https://eyun.baidu.com/s/3dzAtcy
海外OneDrive下载地址:rknn-onedrive
changelog:
update reorder support;
optimize preprocess for input data;

Note:
1.本次更新api接口没有变化
2.更新到V1.0.0后,如果需要预编译功能,需要重新用V1.0.0 rknn-toolkit生成rknn模型,rknn-toolkit V1.0.0之前版本生成的rknn预编译模型运行在V1.0.0环境中会有兼容性问题。
3.此次更新可以大幅减少预编译模型的加载时间,模型转换时需要开启pre_compile

更新方法:
1.Linux更新:
  sudo dnf clean all
  sudo dnf update -y
  更新完成后需要重启开发板。
  版本确认:
[toybrick@localhost ~]$ rpm -aq rknn-api npuservice
npuservice-1.0.3-1.rockchip.fc28.aarch64
rknn-api-0.9.5-2.rockchip.fc28.aarch64
运行时版本打印如下:
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 0.9.5 (a949908 build: 2019-05-07 22:20:43)
D RKNNAPI:   DRV: 0.9.6 (c12de8a build: 2019-05-06 20:10:17)
D RKNNAPI: ==============================================


2.Android更新(5月14日起才可以更新):
下载官方更新的固件:http://t.rock-chips.com/wiki.php?mod=view&pid=4

=========================================== 华丽的分割线 ===========================================================

rknn-toolkit-V0.9.9
官方已发布rknn-toolkit-0.9.9版本,网盘下载地址:https://eyun.baidu.com/s/3qZUVUEg
changelog:
2019-03-06
版本:v0.9.9
1. 新增eval_memory接口,用来获取模型运行时的内存使用情况。
2. inference接口优化;错误信息优化。
3. init_runtime接口优化。

另外,建议更新scipy与onnx版本(网盘上已更新至scipy-1.2.0与onnx-1.4.1):
pip3 install scipy-1.2.0-cp36-cp36m-linux_aarch64.whl
pip3 install onnx-1.4.1-cp36-cp36m-linux_aarch64.whl


rknn-api-V0.9.4
网盘下载地址:https://eyun.baidu.com/s/3dzAtcy
changelog:
修复 channel_mean 没有生效的问题

1.Linux更新:
  sudo dnf clean all
  sudo dnf update
2.Android更新:
repo sync更新Android工程,编译新固件

=========================================== 华丽的分割线 ===========================================================
  
V0.9.8.1
临时版本rknn-toolkit-0.9.8.1已发布到官方网盘,下载地址:rknn-toolkit-0.9.8.1

该版本为临时版本,主要修复了inference接口耗时过久的bug,实测可以提升20倍速度。

考虑到很多童鞋反馈这个问题,因此先发布了修复这个bug的临时版本。

赶紧更新安装测试看看吧!

=========================================== 华丽的分割线 ===========================================================
  
V0.9.8
官方已发布rknn-toolkit-0.9.8版本,下载地址:rknn-toolkit-0.9.8
该版本新增调试模式功能:通过在初始化RKNN对象时设置verbose和verbose_file参数,用户可以看到模型加载、构建等阶段的详细日志信息,并写到指定的文件中。
举例如下:

  1. #  将详细的日志信息输出到屏幕,并写到 mobilenet_build.log 文件中
  2. rknn = RKNN(verbose=True, verbose_file='./mobilenet_build.log')
  3. #  只在屏幕打印详细的日志信息
  4. rknn = RKNN(verbose=True)

  5. rknn.release()
复制代码


有兴趣的童鞋可以更新安装使用了。
















作者: 慢慢的大米饭    时间: 2019-2-15 14:39
已安装并按照要求输出日志,caffe模型转换失败 请帮忙查看下 谢谢了
作者: someone9388    时间: 2019-2-21 14:16
[toybrick@localhost rknn_test]$ python3 rknn_transfer.py
/usr/lib64/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
--> Init runtime environment
Traceback (most recent call last):
  File "rknn_transfer.py", line 12, in <module>
    ret = rknn.init_runtime(host='rk3399pro')
TypeError: init_runtime() got an unexpected keyword argument 'host'
作者: 程子    时间: 2019-2-21 15:08
someone9388 发表于 2019-2-21 14:16
[toybrick@localhost rknn_test]$ python3 rknn_transfer.py
/usr/lib64/python3.6/site-packages/h5py/__ ...

如果你用的RKNN 0.9.8,此处host应该改为target。
作者: karbon    时间: 2019-2-23 10:23
用python的API做目标检测 一秒多才能有一帧
作者: zhangzj    时间: 2019-2-25 09:27
karbon 发表于 2019-2-23 10:23
用python的API做目标检测 一秒多才能有一帧

这个是rknn Python包inference接口耗时有bug,下个版本会解决
作者: 程子    时间: 2019-2-26 23:45
赞      
作者: Lee    时间: 2019-2-27 11:59
您好,请问时只有arm rknn_toolkit-0.9.8.1-cp36-cp36m-linux_aarch64.whl更新啦吗?还是其他python版本和架构也更新了?
作者: 程子    时间: 2019-2-27 12:03
Lee 发表于 2019-2-27 11:59
您好,请问时只有arm rknn_toolkit-0.9.8.1-cp36-cp36m-linux_aarch64.whl更新啦吗?还是其他python版本和 ...

应该是只有arm的更新了,毕竟修的BUG是在板子上的BUG。
作者: Lee    时间: 2019-2-27 12:11
程子 发表于 2019-2-27 12:03
应该是只有arm的更新了,毕竟修的BUG是在板子上的BUG。

哦,顺便咨询下,那开发板连到pc板上跑,和直接在板子上跑 ,差异大吗?pc连开发板,是不是实际也跑的arm
作者: 程子    时间: 2019-2-27 13:40
Lee 发表于 2019-2-27 12:11
哦,顺便咨询下,那开发板连到pc板上跑,和直接在板子上跑 ,差异大吗?pc连开发板,是不是实际也跑的arm ...

如果你指的通过串口或ssh或直接在开发板上操作,那没区别。
在PC上跑和在板子上跑不一样,PC上没有NPU,只能预估一下时间开销什么的。
作者: zhangzj    时间: 2019-2-27 14:30
Lee 发表于 2019-2-27 12:11
哦,顺便咨询下,那开发板连到pc板上跑,和直接在板子上跑 ,差异大吗?pc连开发板,是不是实际也跑的arm ...

如果是PC上面的rknn-toolkit运行调到连接的开发板,则会多一个通信的开销。
作者: Lee    时间: 2019-2-27 16:32
zhangzj 发表于 2019-2-27 14:30
如果是PC上面的rknn-toolkit运行调到连接的开发板,则会多一个通信的开销。

ok,linux和android api里面的inference接口,是不是不存在耗时的bug?包里面好像只有android的,没有linux的?
作者: elooon    时间: 2019-2-27 16:44
Lee 发表于 2019-2-27 16:32
ok,linux和android api里面的inference接口,是不是不存在耗时的bug?包里面好像只有android的,没有lin ...

我这边用C API没有耗时的问题,官方网盘上面两种系统的C API的库已经都有了,不过linux可以用dnf install -y rknn-api直接安装。
作者: Lee    时间: 2019-2-27 16:49
elooon 发表于 2019-2-27 16:44
我这边用C API没有耗时的问题,官方网盘上面两种系统的C API的库已经都有了,不过linux可以用dnf install ...

多谢,能否提供下官方网盘的地址?在板子自带的fedora上配置python环境快哭了
作者: 程子    时间: 2019-2-27 21:00
Lee 发表于 2019-2-27 16:49
多谢,能否提供下官方网盘的地址?在板子自带的fedora上配置python环境快哭了 ...

https://eyun.baidu.com/s/3nwJ4mDV
作者: 程子    时间: 2019-2-27 21:04
FYI:测试了一下自建网络在RKNN 0.9.8.1,使用 rknn.inference() 的性能大约是 rknn.eval_perf() 的80%左右
作者: Lee    时间: 2019-2-28 10:33
程子 发表于 2019-2-27 21:04
FYI:测试了一下自建网络在RKNN 0.9.8.1,使用 rknn.inference() 的性能大约是 rknn.eval_perf() 的80%左右 ...

更新0.9.8.1,在板子上跑,确实快了很多,rknn.eval_perf()自身都快了,但是我这边rknn.inference()的性能没有80%这么好,只有50%差点,有什么问题吗?
    start_time = timeit.default_timer()
    for i in range(50):
        outputs = rknn.inference(inputs=[img])
    end_time = timeit.default_timer()
此外,再确认下,c api的性能是不是不受影响?
谢谢!
作者: elooon    时间: 2019-2-28 11:04
Lee 发表于 2019-2-28 10:33
更新0.9.8.1,在板子上跑,确实快了很多,rknn.eval_perf()自身都快了,但是我这边rknn.inference()的性 ...

性能数据估计还跟网络结构有关系.....
c api应该是跟rknn-toolkit没关系的
作者: MraxZhao    时间: 2019-2-28 21:15
重新安装使用0.9.8.1版本后确实相较于之前好些了,想知道到底是更改优化了什么?
还有,似乎自己打印的时间仍然是性能评估的3倍左右
作者: zhangzj    时间: 2019-3-4 09:13
MraxZhao 发表于 2019-2-28 21:15
重新安装使用0.9.8.1版本后确实相较于之前好些了,想知道到底是更改优化了什么?
还有,似乎自己打印的时间 ...

性能评估接口的时间是NPU运算时间,inference接口的时间还包括了层层代码调用时间以及通信时间等。
作者: chuyee    时间: 2019-3-19 05:58
PyTorch最早会在哪个版本里支持啊?
作者: kaishi    时间: 2019-3-19 11:10
Can you also upload new release to a different  place other than eyun.baidu.com which can not be accessed outside China (unless you have China cellphone)?

Thanks,
作者: Yunhui    时间: 2019-4-17 15:47
同求海外版下载地址更新,目前还是旧版本的
作者: hunterZhang    时间: 2019-5-3 08:18
Can I ask when would you release pytorch supported toolkit? Do you have a estimated timeline? Many Thanks!
作者: zhangzj    时间: 2019-5-10 19:11
rknn-toolkit-1.0.0&rknn-api-0.9.5版本发布
作者: vamrs    时间: 2019-5-13 16:58
zhangzj 发表于 2019-5-10 19:11
rknn-toolkit-1.0.0&rknn-api-0.9.5版本发布

rknn_toolkit-1.0.0-cp36-cp36m-linux_aarch64.whl

可以发布 aarch64 的cp37 或者 cp35 的版本吗?Debian已经不支持python3.6了
作者: zhangzj    时间: 2019-5-15 08:58
vamrs 发表于 2019-5-13 16:58
rknn_toolkit-1.0.0-cp36-cp36m-linux_aarch64.whl

可以发布 aarch64 的cp37 或者 cp35 的版本吗?Debi ...

哪里有说debian不支持python3.6了?python3.6还是可以安装的吧
作者: kaishi    时间: 2019-5-18 00:05
Can you also upload rknn-toolkit-1.0.0&rknn-api-0.9.5 to github which can be accessed outside China?
Baidu and Onedrive require an account to access

Thanks,
作者: zhangzj    时间: 2019-5-20 09:05
kaishi 发表于 2019-5-18 00:05
Can you also upload rknn-toolkit-1.0.0&rknn-api-0.9.5 to github which can be accessed outside China? ...

OneDrive can be accessed outside China. You can register an account of Onedrive.
作者: kaishi    时间: 2019-5-20 11:53
Onedrive does not work either.
The best is to update your github repository. Is there a problem of doing this?
>>>>Error-----------------------------

That didn't work
We're sorry, but xxx@gmail.com can't be found in the rockchips-my.sharepoint.com directory. Please try again later, while we try to automatically fix this for you.
Here are a few ideas:
Click here to sign in with a different account to this site.
This will sign you out of all other Office 365 services that you're signed into at this time.
If you're using this account on another site and don't want to sign out, start your browser in Private Browsing mode for this site (show me how).

作者: vamrs    时间: 2019-5-20 17:34
kaishi 发表于 2019-5-20 11:53
Onedrive does not work either.
The best is to update your github repository. Is there a problem of d ...

You can navigate and download from:

https://rockchips-my.sharepoint. ... nts%2FTB-RK3399ProD

作者: zhangzj    时间: 2019-5-21 08:31
kaishi 发表于 2019-5-20 11:53
Onedrive does not work either.
The best is to update your github repository. Is there a problem of d ...

The link can be accessed now. Something is wrong wtih the link and we fixed it.
作者: kaishi    时间: 2019-5-21 23:47
Still doesn't work. Same error as before.
------Error------

That didn't work
We're sorry, but xxx@gmail.com can't be found in the rockchips-my.sharepoint.com directory. Please try again later, while we try to automatically fix this for you.
Here are a few ideas:

Click here to sign in with a different account to this site.
This will sign you out of all other Office 365 services that you're signed into at this time.

If you're using this account on another site and don't want to sign out, start your browser in Private Browsing mode for this site (show me how).
作者: zhangzj    时间: 2019-5-22 08:14
kaishi 发表于 2019-5-21 23:47
Still doesn't work. Same error as before.
------Error------

Try this link:

https://rockchips-my.sharepoint. ... nts%2fTB-RK3399ProD
作者: kaishi    时间: 2019-5-22 12:22
Not working either. Same error


作者: zhangzj    时间: 2019-5-24 10:36
kaishi 发表于 2019-5-22 12:22
Not working either. Same error

We tested several times. This link does not need account now. Anyone click the link can access the resource directly. So I am not sure what is wrong on your website. It seems that the error log is still related to account issues.
Now Baidu netdisk is offered for China users and OneDrive is for oversea users. For now, we don't have plan to add an github repository as it brings additional maintain work.
作者: kaishi    时间: 2019-5-24 12:48
This original link below works OK:
https://rockchips-my.sharepoint. ... cYGw?e=huVki6works.

But the one below is not working
https://rockchips-my.sharepoint. ... nts%2fTB-RK3399ProD

Thanks,
作者: sunkwei    时间: 2019-6-21 12:24
当前环境:3399pro D

rpm -aq rknn-api npuservice
npuservice-1.0.3-1.rockchip.fc28.aarch64
rknn-api-0.9.5-2.rockchip.fc28.aarch64

$cat /usr/local/lib64/python3.6/site-packages/rknn/VERSION
1.0.0

开机后,lsusb
Bus 002 Device 003: ID 2207:1808

执行 sudo npu_powerctrl -o 后,再次 lsusb
Bus 001 Device 005: ID 2207:180a

执行 rknn.load_rknn("...) 成功,执行 rknn.init_runtime(target="rk3399pro) 出错,返回:
E NPUTransfer: Transfer interface open failed!, ret = -1spec = local:transfer_proxy

E RKNNAPI: rknn_init,  driver open fail!  ret = -1!
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
init failed, ret: -1

感谢任何建议
作者: slw001    时间: 2019-8-5 10:45
新版本的rknn-api的android Demo运行不起来;
\rknn-api\软件创新中心\TB-RK3399ProD\RKNN\rknn-api\Android\rk_ssd_demo
编译时遇到错误;
错误: 找不到符号
符号:   类 TextureProgram
位置: 程序包 com.rockchip.gdapc.demo.glhelper
希望能解决一下;
作者: zhangzj    时间: 2019-8-7 16:49
rknn-toolkit-1.1.0&rknn-api-0.9.8版本发布
作者: jiajia1990    时间: 2019-8-21 10:15
楼主你好,我运行 sudo dnf update -y,显示更新,更新了一会就显示Error:Failed to synchronize cache for repo 'updates',怎么办?
作者: engin    时间: 2019-8-21 18:43
使用1.1生成tensorflosw模型,pc上使用python运行正常,在rk3399pro使用c语言调用,运行失败报错,信息如下:
  1. loading model...
  2. D RKNNAPI: ==============================================
  3. D RKNNAPI: RKNN VERSION:
  4. D RKNNAPI:   API: 0.9.2 (c3b8dd3 build: 2018-12-29 15:45:16)
  5. D RKNNAPI:   DRV: 0.9.8 (943f8e8 build: 2019-07-03 17:51:17)
  6. D RKNNAPI: ==============================================
  7. E RKNNAPI: rknn_init,  attr[0].fmt = 1, expect RKNN_TENSOR_NCHW(0)!
  8. rknn_init fail! ret=-6
  9. load_model error!!!
  10. Segmentation fault (core dumped)
复制代码

作者: zhangzj    时间: 2019-8-23 11:44
engin 发表于 2019-8-21 18:43
使用1.1生成tensorflosw模型,pc上使用python运行正常,在rk3399pro使用c语言调用,运行失败报错,信息如下 ...

rknn api版本0.9.2太旧了,请更新到0.9.8版本
作者: xtx321    时间: 2019-9-3 17:59
如果生成压缩包 再分享会比较好下载
作者: zhangzj    时间: 2019-9-4 16:22
xtx321 发表于 2019-9-3 17:59
如果生成压缩包 再分享会比较好下载

主要是考虑到有的同学只需要下载部分文件,这样分开就能单独下载
作者: engin    时间: 2019-9-9 14:40
zhangzj 发表于 2019-8-23 11:44
rknn api版本0.9.2太旧了,请更新到0.9.8版本

多谢,找到问题了,api包里面的demo默认调用cmake里面带的,不是系统更新的;已经解决了
作者: iwen    时间: 2019-9-21 23:42
sunkwei 发表于 2019-6-21 12:24
当前环境:3399pro D

rpm -aq rknn-api npuservice

你的问题解决了吗?
作者: zhangxiangming    时间: 2019-10-18 09:51
sudo dnf update -y升级rknn-api-V0.9.9,发现API版本还是0.9.5,DRV已经升级为0.9.9了,请问是怎么解决




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