Toybrick

标题: RKNN ToolKit的相关问题汇总 [打印本页]

作者: troy    时间: 2019-2-18 08:40
标题: RKNN ToolKit的相关问题汇总
本帖最后由 jefferyzhang 于 2020-3-6 08:20 编辑

目前我们收到了一些关于RKNN ToolKit的问题,在此进行一些汇总和答复


1、yolo前向测试返回的outputs为[array1 , array2],长度分别为[10140 , 40560],文档中未指明返回值表示意义,请给出说明​

        rknn.inference返回的outputs是一个numpy ndarray的列表(这个文档有说明),每个模型输出数据大小个数都不一样,文档也没法写对指定模型的outputs的意义,用户需要自行查找模型的对应输出和解析规则。


2、发现rknn输出的数据都是噪点数据或者数据不对

        rknn的输出一直都是channel first!对输出做reshape等操作的时候要注意这一点。        注:1.0.0 以前的版本如果模型输出的数据是按”NHWC”排列的,将转成”NCHW”。从v1.0.0版本开始,output 的 shape 将与原始模型保持一致,不再进行”NHWC”到”NCHW”的转换。进行后处理时请注意 channel 所在的位置。


3、Toybrick开发板上用rknn-toolkit转换模型时开启pre_compile=true出错

        arm64版本的rknn-toolkit暂时还不支持pre_compile,如果需要打开pre_compile,建议在开发机上用x86版本rknn-toolkit进行转换。

4、模型转换过程中,numpy 出现错误T ValueError: Object arrays cannot be loaded when allow_pickle=False

        自numpy 1.16.3开始, np.load()的allow_pickle默认为False, 可能导致RKNN报错。需要降低numpy版本,比如1.16.2。
      rknn-toolkit V1.0.0已修复该问题。


5、 LSTM如何转换


      lstm可以参考: https://github.com/MaybeShewill-CV/CRNN_Tensorflow









作者: sunxcp    时间: 2019-2-22 09:18
新版本在哪?
作者: zhangzj    时间: 2019-2-22 16:13
sunxcp 发表于 2019-2-22 09:18
新版本在哪?

链接已更新,点击上面的rknn-toolkit 0.9.8网盘地址进去下载
作者: sunxcp    时间: 2019-2-25 11:37
1、在3399pro上进行前向推理测试速度慢,经测试mobile-ssd有的图片耗时在0.5秒以上
        这个python与c的运行时间差异问题我们还在定位,下版本更新解决


这个问题更新版本以后还是没改善

作者: elooon    时间: 2019-2-25 15:13
sunxcp 发表于 2019-2-25 11:37
1、在3399pro上进行前向推理测试速度慢,经测试mobile-ssd有的图片耗时在0.5秒以上
        这个python与c ...

目前最新的版本还是0.9.8,解决这个问题的版本还没发布好像
作者: sunxcp    时间: 2019-2-25 15:40
麻烦楼主尽快更新
作者: Hellzealot    时间: 2019-2-26 12:34
python推理速度很慢的问题解决了吗?
作者: troy    时间: 2019-2-26 16:39
Hellzealot 发表于 2019-2-26 12:34
python推理速度很慢的问题解决了吗?

推理速度慢的问题,内部版本已经解决,等待后续发布。
作者: nevin007    时间: 2019-3-7 17:51
你好,我使用C++_API发现不支持初始化多个模型(Python_API支持初始化多模型),能否关注一下这个问题?非常感谢!
作者: 771488533    时间: 2019-3-8 18:24
nevin007 发表于 2019-3-7 17:51
你好,我使用C++_API发现不支持初始化多个模型(Python_API支持初始化多模型),能否关注一下这个问题?非 ...

我也遇到了这个问题,不使用量化的话可以同时初始化多个模型,使用量化的话只能初始化一个,使用c++接口
作者: nevin007    时间: 2019-3-12 10:27
771488533 发表于 2019-3-8 18:24
我也遇到了这个问题,不使用量化的话可以同时初始化多个模型,使用量化的话只能初始化一个,使用c++接口 ...

你好,我又测试了一下,发现C++API支持初始化多个量化模型(如mobilenet, mssd, MTCNN中的RNet, Onet等),但对于少数模型(如PNet这种全卷积网络)仅支持非量化的模型...
作者: hjf515    时间: 2019-3-15 15:09
请问这个问题有进展么。
要产品化,绝大多数使用C++开发代码
作者: magi803    时间: 2019-5-15 19:06
ONNX转RKNN,超过4个维度就报错。这个限制太那个了吧,我自己设计的好多模型中途都有4个以上的维度变换.请问有什么解决方案吗
作者: alanz2019    时间: 2019-5-24 10:58
rknn-toolkit 1.0版支持的模型列表在哪里?
作者: zzw_awen    时间: 2019-7-31 17:13
请问rknn支持的layers列表在哪里能看到?RKNN-Toolkit 使用指南里,没有找到支持的layers列表和支持的算子列表。
如果有自定义的算子或layers,我怎么才能知道是否支持呢?
谢谢。
作者: qm-k    时间: 2019-8-1 14:45
在电脑上预编译失败呢


--> config model
done
--> Loading model
done
--> Building model
W The RKNN Model generated can not run on simulator when pre_compile is True.
W Adjust min from [-1.0670577] to 0.0 for relu relu4_4_CPM_27
W [op_optimize:410]Concat copy 2 tensor.
W [op_optimize:410]Concat copy 2 tensor.
W [op_optimize:410]Concat copy 2 tensor.
W [op_optimize:410]Concat copy 2 tensor.
E Catch exception when building RKNN model!
T Traceback (most recent call last):
T   File "rknn/api/rknn_base.py", line 515, in rknn.api.rknn_base.RKNNBase.build
T   File "rknn/api/rknn_base.py", line 439, in rknn.api.rknn_base.RKNNBase._build
T   File "rknn/base/ovxconfiggenerator.py", line 187, in rknn.base.ovxconfiggenerator.generate_vx_config_from_files
T   File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 380, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator.generate
T   File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 365, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator._gen_special_case
T   File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 222, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator._nbg_finishing_work
T   File "rknn/base/RKNNlib/app/exporter/ovxlib_case/casegenerator.py", line 204, in rknn.base.RKNNlib.app.exporter.ovxlib_case.casegenerator.CaseGenerator._fetch_nb
T Exception: Generate pre-compile model failed.
Build model failed!
作者: brilliantlau    时间: 2019-9-9 14:11
安装rknn_tookit-1.2.0,使用python脚本执行mobilenet_v2例子,模型可以转换,但是执行时报错:
--> Init runtime environment
E Connect to Device Failure (-1)
E Catch exception when init runtime!
T Traceback (most recent call last):
T    File "rknn/api/rknn_base.py", line 769, in rknn.api.rknn_base.RKNNBase.init_runtime
T    File "rknn/api/rknn_runtime.py", line 142, in rknn.api.rknn_runtime.RKNNRuntime.__init__
T    File "rknn/api/rknn_platform_utils.py", line 271, in rknn.api.rknn_platform_utils.start_ntp_or_adb
T Exception: Init runtime environment failed!
Init runtime environment failed
使用转换后的模型,用C++接口执行是没有问题的。
作者: troy    时间: 2019-9-9 14:26
brilliantlau 发表于 2019-9-9 14:11
安装rknn_tookit-1.2.0,使用python脚本执行mobilenet_v2例子,模型可以转换,但是执行时报错:
--> Init r ...

这是在prod上出现的吗?板子烧的是哪个固件
作者: CriseKing    时间: 2019-9-16 09:19
我出现了
E Connect to Device Failure(-1)
E Catch exception when init runtime!

有碰到过这个问题的么~~~求帮助
作者: CriseKing    时间: 2019-9-16 09:22
troy 发表于 2019-9-9 14:26
这是在prod上出现的吗?板子烧的是哪个固件

我同样的问题,烧的1.2 rknn-tookit 也是1.2的
作者: troy    时间: 2019-9-16 14:31
CriseKing 发表于 2019-9-16 09:22
我同样的问题,烧的1.2 rknn-tookit 也是1.2的

rknn-toolkit1.2.0要搭配下最新的V1.5的固件,你更新下最新固件试试
作者: shawn    时间: 2020-1-8 11:03
troy 发表于 2019-9-16 14:31
rknn-toolkit1.2.0要搭配下最新的V1.5的固件,你更新下最新固件试试

我在1.5版本固件上安装tool-kits1.2.1, 但scipy编译失败,请问哪里可以下载轮子包?
作者: troy    时间: 2020-1-8 11:15
shawn 发表于 2020-1-8 11:03
我在1.5版本固件上安装tool-kits1.2.1, 但scipy编译失败,请问哪里可以下载轮子包? ...

这里面看一下http://repo.rock-chips.com/python/
作者: cfan    时间: 2021-1-22 08:54
1.Mobilenet-yolov3加载模型时出错,E google.protobuf.text_format.ParseError: 957:3 : Message type "caffe.LayerParameter" has no field named "yolov3_detection_output_param".
请问下这个Yolov3DetectionOutput层caffe不支持,该怎么处理?
2.ICNet加载模型时出错,E google.protobuf.text_format.ParseError: 22:3 : Message type "caffe.LayerParameter" has no field named "interp_param".
层名 interp2也不支持。

作者: zjmmm    时间: 2021-1-22 15:15
本帖最后由 zjmmm 于 2021-1-22 15:32 编辑

有两个问题请教下:
1、rknn是否支持3368之类的非NPU开发板模型前向推理?如果支持是可以自动识别设备还是需要手动设置?
2、同样的模型再同一块开发板(3399pro)上,使用Linux+python接口对比安卓+C++接口,模型推理速度慢了3-5倍,这个是正常的情况吗?
作者: troy    时间: 2021-1-22 18:05
cfan 发表于 2021-1-22 08:54
1.Mobilenet-yolov3加载模型时出错,E google.protobuf.text_format.ParseError: 957:3 : Message type "ca ...

单独开个帖子,这个帖子没啥人看了
作者: troy    时间: 2021-1-22 18:06
zjmmm 发表于 2021-1-22 15:15
有两个问题请教下:
1、rknn是否支持3368之类的非NPU开发板模型前向推理?如果支持是可以自动识别设备还是 ...

单独开个帖子,这个帖子没啥人看了
作者: zefan7564    时间: 2021-1-29 15:27
怎么查看npu内存
作者: theantbully    时间: 2021-9-2 09:58
"arm64版本的rknn-toolkit暂时还不支持pre_compile,如果需要打开pre_compile,建议在开发机上用x86版本rknn-toolkit进行转换。"
这个在x86版本rknn-toolkit进行转换后, 在rv1126上运行报错 GPU[0] hang, 是啥毛病啊。。。。




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