|
错误信息: 系统:CentOS Linux
rknn-toolkit版本:2.3.2
pth->onnx转换时opset:16 E build: 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 1931, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops File "rknn/api/ir_graph.py", line 2055, in rknn.api.ir_graph.IRGraph.update_dynamic_shapes File "rknn/api/base_utils.py", line 16, in rknn.api.base_utils.inf_shape_setTypeError: 'str' object cannot be interpreted as an integer
转换脚本:import osimport sysimport astimport tracebackimport onnxfrom rknn.api import RKNNimport numpy as npCONFIG = { 'ONNX_MODEL': 'model.onnx', 'RKNN_MODEL': 'model.rknn', 'target_platform': 'rk3588', 'dynamic_input':[ [ [1,3,800,1333], [3, 4], [3], [1, 3, 800, 1333], [3,3], [2] ] ] }def check_file_exists(file_path): """Check if file exists""" if not os.path.exists(file_path): raise FileNotFoundError(f"File not found: {file_path}")def main(): try: # Check ONNX model file check_file_exists(CONFIG['ONNX_MODEL']) # Create RKNN object rknn = RKNN(verbose=True, verbose_file='./rknn_build.log') # Configure model parameters print('--> Config model') input_shapes = CONFIG['dynamic_input'][0] # 拿第一个组合 rknn.config( target_platform=CONFIG['target_platform'], mean_values=[[123.675, 116.28, 103.53],[0,0,0,0],[0],[123.675, 116.28, 103.53],[0,0,0],[0]], std_values=[[58.395, 57.12, 57.375],[1,1,1,1],[1],[58.395, 57.12, 57.375],[1,1,1],[1]], dynamic_input=CONFIG['dynamic_input'] ) print('Done') # Load ONNX model print('--> Load model') ret = rknn.load_onnx( model=CONFIG['ONNX_MODEL'], ) if ret != 0: raise Exception('Load model failed!') # Build model print('--> Build model') ret = rknn.build(do_quantization=False) if ret != 0: raise Exception('Build model failed!') print('--> Init runtime') ret = rknn.init_runtime() if ret != 0: raise Exception('Init runtime failed!') # Export RKNN model print('--> Export RKNN model') os.makedirs(os.path.dirname(CONFIG['RKNN_MODEL']), exist_ok=True) ret = rknn.export_rknn(CONFIG['RKNN_MODEL']) if ret != 0: raise Exception('Export RKNN model failed!') except Exception as e: print(f"Error: {str(e)}") traceback.print_exc() sys.exit(1) finally: if 'rknn' in locals(): rknn.release()if __name__ == '__main__': main()
日志:D correct_ops done.D D fuse_ops ...�[1;31mE�[0m �[1;31mbuild: 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 1931, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops File "rknn/api/ir_graph.py", line 2055, in rknn.api.ir_graph.IRGraph.update_dynamic_shapes File "rknn/api/base_utils.py", line 16, in rknn.api.base_utils.inf_shape_setTypeError: 'str' object cannot be interpreted as an integer�[0m�[1;33mW�[0m �[1;33mbuild: ===================== WARN(13) =====================�[0m�[1;31mE�[0m �[1;31mrknn-toolkit2 version: 2.3.2�[0mTraceback (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 1931, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops File "rknn/api/ir_graph.py", line 2055, in rknn.api.ir_graph.IRGraph.update_dynamic_shapes File "rknn/api/base_utils.py", line 16, in rknn.api.base_utils.inf_shape_setTypeError: 'str' object cannot be interpreted as an integerDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "/youtu/fuxi_team3/persons/tianhaoshi/z-torchmodel/onnx2rknn/onnx2rknn.py", line 74, in main ret = rknn.build(do_quantization=False) File "/root/miniconda3/envs/py39/lib/python3.9/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.eValueError: 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 1931, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops File "rknn/api/ir_graph.py", line 2055, in rknn.api.ir_graph.IRGraph.update_dynamic_shapes File "rknn/api/base_utils.py", line 16, in rknn.api.base_utils.inf_shape_setTypeError: 'str' object cannot be interpreted as an integerError: 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 1931, in rknn.api.graph_optimizer.GraphOptimizer.fuse_ops File "rknn/api/ir_graph.py", line 2055, in rknn.api.ir_graph.IRGraph.update_dynamic_shapes File "rknn/api/base_utils.py", line 16, in rknn.api.base_utils.inf_shape_setTypeError: 'str' object cannot be interpreted as an integer
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|