X2Paddle icon indicating copy to clipboard operation
X2Paddle copied to clipboard

报错:NameError: name 'x2paddle_output' is not defined

Open txy00001 opened this issue 2 years ago • 5 comments

F:\work\CRE-StereoNet\CREStereo-Pytorch-main\weights>x2paddle --framework=onnx --model=cre_new.onnx --save_dir=pd_model F:\software\python\lib\site-packages\setuptools\depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp INFO:root:paddle.version = 2.3.0 INFO:root:Now translating model from onnx to paddle. model ir_version: 7, op version: 12 shape inferencing ... [WARNING] Incomplete symbolic shape inference shape inferenced. Now, onnx2paddle support convert onnx model opset_verison [9],opset_verison of your onnx model is 12, automatically treated as op_set: 9. Total nodes: 3007 Nodes converting ... Converting node 210 ... Nodes converted. INFO:root:Model optimizing ... INFO:root:Model optimized. Exporting inference model from python code ('F:\work\CRE-StereoNet\CREStereo-Pytorch-main\weights\pd_model\x2paddle_code.py')...

Fail to generate inference model! Problem happend while export inference model from python code 'F:\work\CRE-StereoNet\CREStereo-Pytorch-main\weights\pd_model\x2paddle_code.py';

===================Error Information=============== Traceback (most recent call last): File "F:\software\python\lib\runpy.py", line 193, in _run_module_as_main return _run_code(code, main_globals, None, File "F:\software\python\lib\runpy.py", line 86, in run_code exec(code, run_globals) File "F:\software\python\Scripts\x2paddle.exe_main.py", line 7, in File "F:\software\python\lib\site-packages\x2paddle\convert.py", line 443, in main onnx2paddle( File "F:\software\python\lib\site-packages\x2paddle\convert.py", line 281, in onnx2paddle mapper.paddle_graph.gen_model(save_dir) File "F:\software\python\lib\site-packages\x2paddle\core\program.py", line 302, in gen_model raise e File "F:\software\python\lib\site-packages\x2paddle\core\program.py", line 296, in gen_model self.dygraph2static(save_dir, input_shapes, input_types) File "F:\software\python\lib\site-packages\x2paddle\core\program.py", line 579, in dygraph2static paddle.jit.save(static_model, File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\jit.py", line 629, in wrapper func(layer, path, input_spec, **configs) File "F:\software\python\lib\site-packages\decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) File "F:\software\python\lib\site-packages\paddle\fluid\wrapped_decorator.py", line 25, in impl return wrapped_func(*args, **kwargs) File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\base.py", line 51, in impl return func(*args, **kwargs) File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\jit.py", line 856, in save concrete_program = static_func.concrete_program_specify_input_spec( File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 527, in concrete_program_specify_input_spec concrete_program, _ = self.get_concrete_program( File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 436, in get_concrete_program concrete_program, partial_program_layer = self._program_cache[cache_key] File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 801, in getitem self._caches[item_id] = self._build_once(item) File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 785, in build_once concrete_program = ConcreteProgram.from_func_spec( File "F:\software\python\lib\site-packages\decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) File "F:\software\python\lib\site-packages\paddle\fluid\wrapped_decorator.py", line 25, in impl return wrapped_func(*args, **kwargs) File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\base.py", line 51, in impl return func(*args, **kwargs) File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\program_translator.py", line 740, in from_func_spec error_data.raise_new_exception() File "F:\software\python\lib\site-packages\paddle\fluid\dygraph\dygraph_to_static\error.py", line 336, in raise_new_exception six.exec("raise new_exception from None") File "", line 1, in NameError: In transformed code:

File "pd_model\x2paddle_code.py", line 158, in forward
            x2paddle_onnx__Conv_210 = self.relu20(x2paddle_input_151)
            x2paddle_tensor = self.conv21(x2paddle_onnx__Conv_210)
            return x2paddle_output
            ~~~~~~~~~~~~~~~~~~~~~~ <--- HERE

    def main(x2paddle_left, x2paddle_right, x2paddle_flow_init):


NameError: name 'x2paddle_output' is not defined

txy00001 avatar Jun 11 '22 07:06 txy00001

@txy00001 感谢反馈

麻烦描述一下您的业务场景、部署场景,然后通过百度云提供一下ONNX模型吧~

另外,也需要您描述一下为什么会有转到Paddle部署的需求呢?

wjj19950828 avatar Jun 12 '22 09:06 wjj19950828

@txy00001 感谢反馈

麻烦描述一下您的业务场景、部署场景,然后通过百度云提供一下ONNX模型吧~

另外,也需要您描述一下为什么会有转到Paddle部署的需求呢?

是将训练好的pytorch模型转成paddlepaddle的inference_model,然后直接使用paddlepaddle载入使用。官方提供的X2paddle

模型链接:链接:https://pan.baidu.com/s/1FmZfrv9L606xLIzSo8-WCA 提取码:4562

txy00001 avatar Jun 13 '22 01:06 txy00001

@txy00001 具体业务场景可以描述一下吗,然后为什么会有转到Paddle的需求呢~

wjj19950828 avatar Jun 13 '22 07:06 wjj19950828

@txy00001 具体业务场景可以描述一下吗,然后为什么会有转到Paddle的需求呢~

利用paddle推理模型与pytorch进行对比

txy00001 avatar Jun 13 '22 07:06 txy00001

@txy00001 您好,问题已经修复,拉取https://github.com/PaddlePaddle/X2Paddle/pull/820

手动安装即可

另外业务场景也需要您描述一下,这边需要记录~

wjj19950828 avatar Jun 24 '22 03:06 wjj19950828