Toybrick

标题: ONNX2RKNN1.6版本 LSTM问题 [打印本页]

作者: zhr_19970822    时间: 2021-1-22 19:08
标题: ONNX2RKNN1.6版本 LSTM问题
本帖最后由 zhr_19970822 于 2021-1-22 19:09 编辑

LSTM是打算从pytorch转到onnx再转到RKNNpytorch中的代码:self.rnn = nn.LSTM(nIn, nHidden, num_layers=1, bidirectional=True)  (pytorch转onnx是成功的了)
onnx转RKNN的时候报错:
--> config model
done
--> Loading model
W Call onnx.optimizer.optimize fail, skip optimize
E Calc node LSTM : LSTM_323 output shape fail
W ----------------Warning(1)----------------
E Catch exception when loading onnx model: test.onnx!
E Traceback (most recent call last):
E   File "rknn/base/RKNNlib/onnx_ir/onnx_numpy_backend/shape_inference.py", line 57, in rknn.base.RKNNlib.onnx_ir.onnx_numpy_backend.shape_inference.infer_shape
E   File "rknn/base/RKNNlib/onnx_ir/onnx_numpy_backend/ops/LSTM.py", line 122, in rknn.base.RKNNlib.onnx_ir.onnx_numpy_backend.ops.LSTM.LSTM
E   File "rknn/base/RKNNlib/onnx_ir/onnx_numpy_backend/ops/LSTM.py", line 48, in rknn.base.RKNNlib.onnx_ir.onnx_numpy_backend.ops.LSTM.lstm_helper.__init__
E NotImplementedError
E During handling of the above exception, another exception occurred:
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 264, in rknn.api.rknn_base.RKNNBase.load_onnx
E   File "rknn/base/RKNNlib/RK_nn.py", line 135, in rknn.base.RKNNlib.RK_nn.RKnn.load_onnx
E   File "rknn/base/RKNNlib/app/importer/import_onnx.py", line 111, in rknn.base.RKNNlib.app.importer.import_onnx.Importonnx.run
E   File "rknn/base/RKNNlib/converter/convert_onnx.py", line 85, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx.__init__
E   File "rknn/base/RKNNlib/converter/convert_onnx.py", line 434, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx._shape_inference
E   File "rknn/base/RKNNlib/onnx_ir/onnx_numpy_backend/shape_inference.py", line 62, in rknn.base.RKNNlib.onnx_ir.onnx_numpy_backend.shape_inference.infer_shape
E   File "rknn/api/rknn_log.py", line 312, in rknn.api.rknn_log.RKNNLog.e
E ValueError: Calc node LSTM : LSTM_323 output shape fail
done
--> Building model
Traceback (most recent call last):
  File "test.py", line 26, in <module>
    ret = rknn.build(do_quantization=True, dataset='./dataset.txt')
  File "/usr/local/lib/python3.6/dist-packages/rknn/api/rknn.py", line 228, in build
    inputs = self.rknn_base.net.get_input_layers()
AttributeError: 'NoneType' object has no attribute 'get_input_layers'

我通过Netron查看了onnx中该层的参数,

发现这里面的参数除了
sequence_lens没有,其他都是有定义的。
是这个sequence_lens没有的问题嘛?  
如果是的话  要怎么修改呢? 如果不是的话 问题出在哪里?





作者: jefferyzhang    时间: 2021-1-23 10:45
具体的网络转换问题建议你加入置顶帖qq群里讨论。
作者: zhr_19970822    时间: 2021-1-23 22:47
jefferyzhang 发表于 2021-1-23 10:45
具体的网络转换问题建议你加入置顶帖qq群里讨论。

群里问过了..  叫我去redmine提问.. 找不到在哪  我就跑来这边提问了..
作者: tjudragonkai    时间: 2021-8-5 09:18
zhr_19970822 发表于 2021-1-23 22:47
群里问过了..  叫我去redmine提问.. 找不到在哪  我就跑来这边提问了..

老哥,遇到同样的问题,现在有解决办法了吗?
作者: Yaphet    时间: 2021-9-8 11:12
tjudragonkai 发表于 2021-8-5 09:18
老哥,遇到同样的问题,现在有解决办法了吗?

老哥,现在遇到了同样的问题,是否有解决方案了,麻烦告诉一声,十分感谢!




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