Toybrick

标题: RKNN哪种架构下支持RNN网络呢? [打印本页]

作者: qiaoqiang126    时间: 2019-2-21 14:03
标题: RKNN哪种架构下支持RNN网络呢?
如题,在onnx 和tensorflow下测试都不支持RNN或者LSTM


作者: jefferyzhang    时间: 2019-2-21 18:33
支不支持跟网络的结构是无关的,只要里头op支持,理论上是都支持的。如果出现rknn转换失败的情况,请把转换出错的verbose log发给我们分析。

作者: qiaoqiang126    时间: 2019-2-27 10:19
关于RNN很奇怪,tensorflow里面把Tensor ,unstack小于6个的时候,RNN是可以转成功的。但是UNstack大于6个的时候转换就失败了,UNstack,concat,rnn应该都是多于6个就没法转了。请问有解决办法吗?
附件中是verbose
作者: qiaoqiang126    时间: 2019-2-27 10:30
能否公布一下onnx ,tensorflow ,tflite,caffe支持的OP呢  这样开发起来容易很多。
作者: qiaoqiang126    时间: 2019-2-27 10:31
jefferyzhang 发表于 2019-2-21 18:33
支不支持跟网络的结构是无关的,只要里头op支持,理论上是都支持的。如果出现rknn转换失败的情况,请把转换 ...

能不能公开一下onnx ,tensorflow , caffe ,tflite支持的OP  。这样开发起来容易很多。
作者: jefferyzhang    时间: 2019-2-27 11:01
本帖最后由 jefferyzhang 于 2019-2-27 11:05 编辑
qiaoqiang126 发表于 2019-2-27 10:31
能不能公开一下onnx ,tensorflow , caffe ,tflite支持的OP  。这样开发起来容易很多。 ...

我估计rknntool 1.0发布时候应该会一起发布op列表的。
目前op都不存在支不支持的说法,只是那边npu驱动和op需要码代码去支持,所以目前所有不支持的op只能算是一个bug,我们会报给相关部门去支持的。而且目前op数量一直在增长,跟着所有开源架构一起增长有很大工作量的,需要时间去加,每个架构OP名字还都不一样,可想而知里头需要大量人力去做这些事的。官方会保持rknn toolkit不断的更新来支持更多的op,所以敬请放心。

作者: 程子    时间: 2019-2-27 13:37
RKNN Toolkit 1.0 何时发布?有没有进度规划?
OP数量增长归增长,问题是tf-1.0的OP你们也没都支持啊。
现在tensorflow这边很多自己设计的网络都因OP不支持而无法在RKNN上成功转换,这种感觉像是买了个半成品。
作者: raul    时间: 2019-2-27 14:34
qiaoqiang126 发表于 2019-2-27 10:19
关于RNN很奇怪,tensorflow里面把Tensor ,unstack小于6个的时候,RNN是可以转成功的。但是UNstack大于6个 ...

没有看到附件中的文件,麻烦再传下,谢谢。
作者: qiaoqiang126    时间: 2019-2-27 17:22
raul 发表于 2019-2-27 14:34
没有看到附件中的文件,麻烦再传下,谢谢。

见附件

作者: raul    时间: 2019-2-28 16:51
qiaoqiang126 发表于 2019-2-27 17:22
见附件

我们对unstack的输出个数确实有一些限制,从这个日志来看,unstack好像不止6个。我们现在的限制应该是16个。
作者: qiaoqiang126    时间: 2019-2-28 17:17
raul 发表于 2019-2-28 16:51
我们对unstack的输出个数确实有一些限制,从这个日志来看,unstack好像不止6个。我们现在的限制应该是16 ...

16个也不够啊,我们需要76个。。。。。。
作者: daleydeng    时间: 2019-6-9 15:05
能否将第三方OP的工作尤其是自定义op的部分开放到github上,类似于tensorrt里面的Plugin, 让开源社区去贡献,我们也愿意贡献。另外ARMv8.2标准也包含了NPU未来将会是很大的竞争,所以如果能开放一些,提前发展,让它更成熟会更好,这是我的个人建议,一个AI创业公司的CTO
作者: daleydeng    时间: 2019-6-9 15:06
不要因为软件的更新问题,使得很好的NPU硬件藏起来,酒香也怕巷子深
作者: jefferyzhang    时间: 2019-6-10 09:14
daleydeng 发表于 2019-6-9 15:05
能否将第三方OP的工作尤其是自定义op的部分开放到github上,类似于tensorrt里面的Plugin, 让开源社区去贡献 ...

芯片开发跟软件开发不一样,芯片是设计时候固化的,新增OP支持不是说开给你们就能写了,涉及到驱动调用芯片模块和无数个寄存器的配置。我们这里对每个新OP支持开发上都要做非常久。
并且硬件OP和 软件OP并非一一对应,例如CONV+RELU在芯片上是一个OP,而非2个,并且各个框架的op拆分和组合也完全不一样。目前对CAFFEE和Tensorflow的OP支持较为丰富。
有些OP单个存在时候NPU不支持,但是和其他OP组合存在是支持的。这样我们很难给出一份完整列表能跟你说哪些OP是一定支持的哪些是一定不支持的。
并且RKNN目前快速迭代状态,每次版本发布都会对不支持的OP做进一步兼容,目前NPU部门暂时对外不发布支持列表,如果你是RK的开发商,是可以通过商务渠道获取到当前版本的一份比较简单的OP表,社区客户目前暂时拿不到,请等待NPU部门开放




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