PaddlePaddle / Paddle2ONNX

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

PP-HumanSegV2-Lite修改coordinate_transformation_mode bug #926

Open zeckireck opened 1 year ago

zeckireck commented 1 year ago

Please fill in the information below so that we can solve the problem quickly, Thanks !

Describe the bug A clear and concise description of what the bug is.

Informations (please complete the following information):

Screenshots image

Additional context 我将mobileseg中的align_corners改为 align_corners=True,但是用paddle2onnx转化后,有部分resize算子的coordinate_transformation_mode依然是half_pixel,请问这个应该怎么解决

jiangjiajun commented 1 year ago

你是部署在什么硬件上,需要这个限制

zeckireck commented 1 year ago

部署在sigmastar上,这个开发板比较冷门,然后不支持onnx模型resize是half pixel的形式

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2022年10月19日 08:39 | | 收件人 | @.> | | 抄送至 | @.**@.> | | 主题 | Re: [PaddlePaddle/Paddle2ONNX] PP-HumanSegV2-Lite修改coordinate_transformation_mode bug (Issue #926) |

你是部署在什么硬件上,需要这个限制

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

jiangjiajun commented 1 year ago

https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/paddle2onnx/mapper/nn/interpolate.cc#L66 你可以看下这里转换的逻辑

zeckireck commented 1 year ago

image 我把这个地方改成了align_corners,之后应该怎么操作?

jiangjiajun commented 1 year ago

https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/docs/zh/compile.md 可以自行编译安装Paddle2ONNX,重新导出

zeckireck commented 1 year ago

[ 98%] Building CXX object CMakeFiles/paddle2onnx_cpp2py_export.dir/third/optimizer/onnxoptimizer/pass_manager.cc.o [ 98%] Building CXX object CMakeFiles/paddle2onnx_cpp2py_export.dir/third/optimizer/onnxoptimizer/pass_registry.cc.o /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc: In constructor ‘paddle2onnx::OnnxReader::OnnxReader(const char, int)’: /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:57:10: error: ‘strcpy’ is not a member of ‘std’ std::strcpy(inputs[i].name, model.graph().input(i).name().c_str()); ^~ /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:57:10: note: suggested alternative: In file included from /usr/include/features.h:461:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:1: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:88:1: note: ‘strcpy’ __NTH (strcpy (char restrict dest, const char restrict src)) ^ /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:71:10: error: ‘strcpy’ is not a member of ‘std’ std::strcpy(outputs[i].name, model.graph().output(i).name().c_str()); ^~ /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:71:10: note: suggested alternative: In file included from /usr/include/features.h:461:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /data/gw/Paddle2ONNX/paddle2onnx/onnx_reader.cc:1: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:88:1: note: ‘strcpy’ __NTH (strcpy (char restrict dest, const char restrict src)) ^ /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc: In constructor ‘paddle2onnx::PaddleReader::PaddleReader(const char, int)’: /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:38:10: error: ‘strcpy’ is not a member of ‘std’ std::strcpy(inputs[i].name, parser.inputs[i].name.c_str()); ^~ /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:38:10: note: suggested alternative: In file included from /usr/include/features.h:461:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:1: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:88:1: note: ‘strcpy’ NTH (strcpy (char *restrict dest, const char *restrict __src)) ^ /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:48:10: error: ‘strcpy’ is not a member of ‘std’ std::strcpy(outputs[i].name, parser.outputs[i].name.c_str()); ^~ /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:48:10: note: suggested alternative: In file included from /usr/include/features.h:461:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /data/gw/Paddle2ONNX/paddle2onnx/paddle_reader.cc:1: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:88:1: note: ‘strcpy’ NTH (strcpy (char *restrict dest, const char *restrict src)) ^ make[2]: [CMakeFiles/paddle2onnx_cpp2py_export.dir/build.make:1476: CMakeFiles/paddle2onnx_cpp2py_export.dir/paddle2onnx/onnx_reader.cc.o] Error 1 make[2]: Waiting for unfinished jobs.... make[2]: [CMakeFiles/paddle2onnx_cpp2py_export.dir/build.make:1504: CMakeFiles/paddle2onnx_cpp2py_export.dir/paddle2onnx/paddle_reader.cc.o] Error 1 make[1]: [CMakeFiles/Makefile2:151: CMakeFiles/paddle2onnx.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make[1]: [CMakeFiles/Makefile2:179: CMakeFiles/paddle2onnx_cpp2py_export.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 Traceback (most recent call last): File "/data/gw/Paddle2ONNX/setup.py", line 299, in setuptools.setup( File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/init__.py", line 87, in setup return distutils.core.setup(**attrs) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup return run_commands(dist) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands dist.run_commands() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands self.run_command(cmd) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/command/install.py", line 74, in run self.do_egg_install() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/command/install.py", line 123, in do_egg_install self.run_command('bdist_egg') File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/command/bdist_egg.py", line 165, in run cmd = self.call_command('install_lib', warn_dir=0) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/command/bdist_egg.py", line 151, in call_command self.run_command(cmdname) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/command/install_lib.py", line 11, in run self.build() File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py", line 105, in build self.run_command('build_py') File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/data/gw/Paddle2ONNX/setup.py", line 204, in run self.run_command('cmake_build') File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/data/gw/Paddle2ONNX/setup.py", line 198, in run subprocess.check_call(build_args) File "/home/gw/miniconda3/envs/paddle/lib/python3.9/subprocess.py", line 373, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '--build', '.', '--', '-j', '24']' returned non-zero exit status 2.

zeckireck commented 1 year ago

编译出错了

pxEkin commented 1 year ago

PP-HumanSegV2-Lite-192x192这个模型有谁成功转成吗? 我转换出来的onnx有问题,不清楚原因, 哪位大佬能分享下这个onnx模型吗? 以下是我转出来的onnx,我固定输入为1x3x192x192,但是输出还是有问题。 image image