PaddlePaddle / X2Paddle

Deep learning model converter for PaddlePaddle. (『飞桨』深度学习模型转换工具)
http://www.paddlepaddle.org/
Apache License 2.0
717 stars 162 forks source link

pytorch训练的模型转为onnx,再转为paddle,都转成功了,但测试出问题了。 #894

Open chqf518 opened 1 year ago

chqf518 commented 1 year ago

感谢您参与 X2Paddle 社区! 问题模版为了 X2Paddle 能更好的迭代,例如新功能发布、 RoadMaps 和错误跟踪. :smile_cat:

问题描述

pytorch训练的模型转为onnx,再转为paddle,都转成功了。 image

但在测试时,报错了。 用paddle2.3.1+yolov3训练的模型,用同样的方法测试是成功的。

转换模型的命令用的:x2paddle --framework=onnx --model=yolov7_v1.onnx --save_dir=model_yolov7 测试用的命令是(main方法是c++写的工控机上发布的测试例子main.exe):.\main --model_dir=model_yolov7 --image_file=test1.png


Error Message Summary:

InvalidArgumentError: The conv2d Op's Input Variable Input contains uninitialized Tensor. [Hint: Expected t->IsInitialized() == true, but received t->IsInitialized():0 != true:1.] (at C:\home\workspace\Paddle_release\paddle\fluid\framework\operator.cc:2094)

具体信息

来源框架版本(PyTorch/TF/ONNX/Caffe) =>pythorch -> onnx -> paddle

wjj19950828 commented 1 year ago

@chqf518 可以先验证下相同输入下,ONNX以及转换后Paddle模型输出是否一致,Paddle可以先用paddle.jit.load(inference_model_path)加载,随机输入一个Tensor,看看是否报错

另外,可以描述一下以下两个问题吗: 1、具体业务场景 2、为什么有转到Paddle部署的需求呢?

感谢~