paddle.__version__ = 2.0.2
Now translating model from onnx to paddle.
model ir_version: 6, op version: 9
shape inferencing ...
shape inferenced.
Now, onnx2paddle support convert onnx model opset_verison [9],opset_verison of your onnx model is 9, automatically treated as op_set: 9.
Total nodes: 114
Nodes converting ...
Converting node 195 ...
Nodes converted.
Exporting inference model from python code ('E:\workspace\AI\GAN\X2Paddle\pd_model\x2paddle_code.py')...
pd_model\x2paddle_code.py:226: DeprecationWarning: invalid escape sequence \w
params = paddle.load('E:\workspace\AI\GAN\X2Paddle\pd_model\model.pdparams')
Backend TkAgg is interactive backend. Turning interactive mode on.
W1018 14:55:53.810535 43124 device_context.cc:362] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.4, Runtime API Version: 11.0
W1018 14:55:53.823501 43124 device_context.cc:372] device: 0, cuDNN Version: 8.0.
E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\layers\utils.py:77: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working
return (isinstance(seq, collections.Sequence) and
Fail to generate inference model! Problem happend while export inference model from python code 'E:\workspace\AI\GAN\X2Paddle\pd_model\x2paddle_code.py';
===================Error Information===============
Traceback (most recent call last):
File "E:\software\Annaconda3\envs\py37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "E:\software\Annaconda3\envs\py37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\Users\hp\.vscode\extensions\ms-python.python-2021.10.1336267007\pythonFiles\lib\python\debugpy\__main__.py", line 45, in <module>
cli.main()
File "c:\Users\hp\.vscode\extensions\ms-python.python-2021.10.1336267007\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 444, in main
run()
File "c:\Users\hp\.vscode\extensions\ms-python.python-2021.10.1336267007\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 285, in run_file
runpy.run_path(target_as_str, run_name=compat.force_str("__main__"))
File "E:\software\Annaconda3\envs\py37\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "E:\software\Annaconda3\envs\py37\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "E:\software\Annaconda3\envs\py37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "e:\software\Annaconda3\lib\site-packages\x2paddle\convert.py", line 347, in <module>
main()
File "e:\software\Annaconda3\lib\site-packages\x2paddle\convert.py", line 335, in main
lite_model_type=args.lite_model_type)
File "e:\software\Annaconda3\lib\site-packages\x2paddle\convert.py", line 214, in onnx2paddle
mapper.paddle_graph.gen_model(save_dir)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\x2paddle-1.3.4-py3.7.egg\x2paddle\core\program.py", line 280, in gen_model
raise e
File "E:\software\Annaconda3\envs\py37\lib\site-packages\x2paddle-1.3.4-py3.7.egg\x2paddle\core\program.py", line 274, in gen_model
self.dygraph2static(save_dir, input_shapes, input_types)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\x2paddle-1.3.4-py3.7.egg\x2paddle\core\program.py", line 554, in dygraph2static
osp.join(save_dir, "inference_model/model"))
File "E:\software\Annaconda3\envs\py37\lib\site-packages\decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\wrapped_decorator.py", line 25, in __impl__
return wrapped_func(*args, **kwargs)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\base.py", line 39, in __impl__
return func(*args, **kwargs)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\jit.py", line 681, in save
inner_input_spec)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 488, in concrete_program_specify_input_spec
*desired_input_spec)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 402, in get_concrete_program
concrete_program, partial_program_layer = self._program_cache[cache_key]
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 711, in __getitem__
self._caches[item] = self._build_once(item)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 702, in _build_once
class_instance=cache_key.class_instance)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\wrapped_decorator.py", line 25, in __impl__
return wrapped_func(*args, **kwargs)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\base.py", line 39, in __impl__
return func(*args, **kwargs)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 658, in from_func_spec
error_data.raise_new_exception()
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\error.py", line 189, in raise_new_exception
six.exec_("raise new_exception from None")
File "<string>", line 1, in <module>
AssertionError: In transformed code:
File "pd_model\x2paddle_code.py", line 106, in forward (* user code *)
x2paddle_201 = self.pad0(x2paddle_input_1)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\x2paddle-1.3.4-py3.7.egg\x2paddle\op_mapper\onnx2paddle\onnx_custom_layer\pad_all_dim4_one_input.py", line 29, in __call__ (* user code *)
x = paddle.nn.functional.pad(x=x, pad=self.pad1, **self.layer_attrs)
File "E:\software\Annaconda3\envs\py37\lib\site-packages\paddle\nn\functional\common.py", line 1268, in pad
"mode should be one of constant, reflect, replicate, circular, but got {}.".format(mode)
AssertionError: mode should be one of constant, reflect, replicate, circular, but got edge.
模型来源: pytorch 模型说明: GAN生成模型 模型文件: 链接:链接:https://pan.baidu.com/s/1Lc6PupwZ1fXtu8w06LHpxg 提取码:xiln pytorch转onnx可以,但是onnx转到paddle出错,转换过程出错提示如下:
问题应该是在pad的地方出错,pytorch原始的实现是: 生成的onnx为fire-GS.onnx,运行命令: x2paddle --framework=onnx --model=fire-GS.onnx --save_dir=pd_model 生成了一个x2paddle_code.py 这里生成的网络结构,pad变成了edge,而不是原来的ReplicationPad2d 我想请教下,这个是onnx不支持Replication模式的pad还是paddle不支持(paddle我看了下,是有这个模式的),所以不清楚问题出在哪里,麻烦帮我解答下,谢谢