PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.38k stars 2.84k forks source link

ppyoloe_plus训练好的模型转为onnx格式,dnn加载报错 #8497

Open gaohuayang opened 11 months ago

gaohuayang commented 11 months ago

问题确认 Search before asking

请提出你的问题 Please ask your question

paddle==2.4.0 PaddleDetection==2.6 paddle2onnx==1.0.6 opencv==4.8.0

paddle模型导出: !python /home/aistudio/work/PaddleDetection-release-2.6/tools/export_model.py \ -c /home/aistudio/work/mainbody/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml \ --output_dir=/home/aistudio/work/mainbody/ppyoloe/deploy \ -o weights=/home/aistudio/work/mainbody/ppyoloe/train/ppyoloe_plus_crn_l_80e_coco/11.pdparams

模型转为onnx: paddle2onnx --model_dir saved_inference_model \ --model_filename model.pdmodel \ --params_filename model.pdiparams \ --save_file model.onnx \ --enable_dev_version True image

opencv, dnn加载onnx代码: cv::dnn::Net net = cv::dnn::readNetFromONNX("G:\det_cls\onnx\mainbodyDetect.onnx");

报错: image

lyuwenyu commented 4 months ago

onnx用onnxruntime可以嘛 有试过没

zhuxiaobin commented 3 months ago

首先导出model.pdmodel 等paddle interfere模型时不要包含后处理,-o weight=xxxx exclude_nms=True 然后再用paddle2onnx 导出,后续推理时,后处理需要自己处理