PaddlePaddle / Paddle2ONNX

ONNX Model Exporter for PaddlePaddle
Apache License 2.0
710 stars 162 forks source link

不支持Paddlex中的Deeplabv3+导出为ONNX模型 #803

Closed geoexploring closed 1 year ago

geoexploring commented 2 years ago

利用如下命令行进行转换:

paddle2onnx --model_dir C:/Users/admin/Desktop/temp --model_filename C:/Users/admin/Desktop/temp/model.pdmodel --params_filename C:/Users/admin/Desktop/temp/model.pdiparams --opset_version 11 --save_file C:/Users/admin/Desktop/temp --input_shape_dict "{'x': [1, 3, 512, 512]}"

加上--input_shape_dict "{'x': [1, 3, 512, 512]}"报错:

Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\admin\Desktop\temp\venv\Scripts\paddle2onnx.exe\__main__.py", line 7, in <module>
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\command.py", line 283, in main
    auto_update_opset=args.enable_auto_update_opset)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\command.py", line 195, in program2onnx
    program.blocks[0].var(k).desc.set_shape(v)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle\fluid\framework.py", line 2938, in var
    raise ValueError("var %s not in this block" % name)
ValueError: var x not in this block

不加--input_shape_dict "{'x': [1, 3, 512, 512]}"报错:

Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\admin\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\admin\Desktop\temp\venv\Scripts\paddle2onnx.exe\__main__.py", line 7, in <module>
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\command.py", line 283, in main
    auto_update_opset=args.enable_auto_update_opset)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\command.py", line 210, in program2onnx
    output_names=output_names)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\convert.py", line 102, in program2onnx
    output_names=output_names)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\convert.py", line 37, in export_onnx
    auto_update_opset)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\graph\onnx_graph.py", line 327, in build
    auto_update_opset=auto_update_opset)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\graph\onnx_graph.py", line 85, in __init__
    self.update_opset_version()
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\graph\onnx_graph.py", line 203, in update_opset_version
    node_map, self.opset_version)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\op_mapper\op_mapper.py", line 129, in get_recommend_opset_version
    node_map, opset_version, True)
  File "c:\users\admin\desktop\temp\venv\lib\site-packages\paddle2onnx\op_mapper\op_mapper.py", line 174, in check_support_status
    raise NotImplementedError(error_info)
NotImplementedError:
There's 1 ops are not supported yet
=========== sync_batch_norm ===========

请问目前是暂时不支持将Paddlex中的Deeplabv3+导出为ONNX模型吗? 谢谢

NBd-hub commented 2 years ago

我也有这个问题,说是不支持

geoexploring commented 2 years ago

@NBd-hub 好的,谢谢!

Deeplabv3+不支持,很奇怪。

jiangjiajun commented 2 years ago

@geoexploring @NBd-hub 这个是由于paddlex模型导出时的问题,sync_batch_norm本不应该导出来。 你们可以使用PaddleSeg的模型训练Deeplab导出来。

至于当前PaddleX的模型,你们可以提供一下导出来的模型,我来帮你们看下

geoexploring commented 2 years ago

@jiangjiajun ,感谢!

请问您指的导出来的模型,就是类似Paddle训练生成的best model文件夹下的文件吗?

jiangjiajun commented 2 years ago

是最终发布发部署模型。 如果你是可视化界面训练,那得是最后一步发布的模型;如果是api训练的,那得是导出来部署模型

geoexploring commented 2 years ago

@jiangjiajun , 好的,我将模型发送到您的邮箱里。

Mickeyyyang commented 1 year ago

@jiangjiajun , 好的,我将模型发送到您的邮箱里。

Hi, Is the problem you encountered solved? The problem about:

paddle2onnx --model_dir C:/Users/admin/Desktop/temp --model_filename C:/Users/admin/Desktop/temp/model.pdmodel --params_filename C:/Users/admin/Desktop/temp/model.pdiparams --opset_version 11 --save_file C:/Users/admin/Desktop/temp --input_shape_dict "{'x': [1, 3, 512, 512]}"