信息如下:
Traceback (most recent call last):
File "onnx_rknn.py", line 111, in
main()
File "onnx_rknn.py", line 77, in main
ret = rknn.build(
File "/home/wang/miniforge3/envs/toolkit2/lib/python3.8/site-packages/rknn/api/rknn.py", line 198, in build
return self.rknn_base.build(do_quantization=do_quantization, dataset=dataset, expand_batch_size=rknn_batch_size, auto_hybrid=auto_hybrid)
File "rknn/api/rknn_log.py", line 349, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
File "rknn/api/rknn_log.py", line 95, in rknn.api.rknn_log.RKNNLog.e
ValueError: Traceback (most recent call last):
File "rknn/api/rknn_log.py", line 344, in rknn.api.rknn_log.error_catch_decorator.error_catch_wrapper
File "rknn/api/rknn_base.py", line 2007, in rknn.api.rknn_base.RKNNBase.build
File "rknn/api/graph_optimizer.py", line 2338, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops
File "rknn/api/graph_optimizer.py", line 967, in rknn.api.graph_optimizer.GraphOptimizer.fold_constant
File "rknn/api/session.py", line 150, in rknn.api.session.Session.run
File "/home/wang/miniforge3/envs/toolkit2/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 220, in run
return self._sess.run(output_names, input_feed, run_options)
onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Invalid rank for input: /model_1/convnext/ReduceMean_output_0 Got: 4 Expected: 2 Please fix either the inputs/outputs or the model.
我并没有找到解决方案,我尝试了直接使用onnxruntime进行onnx推理,可以完成,但是为什么onnx转换为rknn时会报错。这些事一些相关的节点信息
NODE PROPERTLES
type:ReduceMean
module:ai.onnx v13
name:/model_1/convnext/ReduceMean
ATTRIBUTES
axes:-2,-1
keepdims:0
INPUTS
data :
name: /model_1/convnext/stages.3/stages.3.2/Add_output_0
tensor: float32[1,768,8,8]
OUTPUTS
reduced:
name: /model_1/convnext/ReduceMean_output_0
tensor: float32[1,768]
来自于netron打开的onnx模型文件显示
有没有大佬可以解决的