Toybrick

标题: ONNX转RKNN出现Slice不支持的问题 [打印本页]

作者: Pony    时间: 2020-12-23 17:19
标题: ONNX转RKNN出现Slice不支持的问题

运行环境:台式机上的CentOS
RKNN-TOOLKIT:1.4.0
目的:将NanoDet模型转成RKNN, 已经从PyTorch转成了ONNX
指令和输出:
(rknn) [jtma3@localhost nanodet]$ python test.py
--> config model
done
--> Loading model
/home/jtma3/Downloads/onnx-tensorflow-1.2.1/onnx_tf/common/__init__.py:87: UserWarning: FrontendHandler.get_outputs_names is deprecated. It will be removed in future release.. Use node.outputs instead.
  warnings.warn(message)
E Catch exception when loading onnx model: nanodet_1_3_320_320.onnx!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 556, in rknn.api.rknn_base.RKNNBase.load_onnx
E   File "rknn/base/RKNNlib/converter/convert_onnx.py", line 497, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx.__init__
E   File "rknn/base/RKNNlib/converter/convert_onnx.py", line 500, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx.__init__
E   File "/home/jtma3/anaconda3/envs/rknn/lib/python3.6/site-packages/onnx/checker.py", line 86, in check_model
E     C.check_model(model.SerializeToString())
E onnx.onnx_cpp2py_export.checker.ValidationError: Node () has input size 4 not in range [min=1, max=1].
E ==> Context: Bad node spec: input: "567" input: "569" input: "570" input: "568" output: "571" op_type: "Slice"
Load nanodet failed!









所以,RKNN目前是不支持slice操作码?转过其他模型也报过类似的错误,卡在了slice这里

作者: zhw    时间: 2020-12-29 14:50
你好,问题解决了吗

作者: Pony    时间: 2021-1-7 15:49
zhw 发表于 2020-12-29 14:50
你好,问题解决了吗

解决了,RKNN对于ONNX的模型实际上是支持的,但是有的模型里面会出现slice的问题,这个时候可以看看能不能在slice层后面加一个没有用的层,然后就不报错了。
作者: matrix    时间: 2021-1-22 17:54
请问pony如何加没用的层?能给个例子吗? 我也遇到同样的问题。rknn 1.6
pytorch 1.6

作者: 另一个你呀    时间: 2021-11-8 20:13
Pony 发表于 2021-1-7 15:49
解决了,RKNN对于ONNX的模型实际上是支持的,但是有的模型里面会出现slice的问题,这个时候可以看看能不 ...

请问怎么加没用的层呢?





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