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.88k stars 2.9k forks source link

windows C++部署报错 #6231

Open JackDance opened 2 years ago

JackDance commented 2 years ago

问题确认 Search before asking

bug描述 Describe the Bug

在使用Paddledeteciton进行windows平台C++部署阶段,根据提供的编译教程--Visual Studio 2019 Community CMake 编译指南已经完成了cmake和visual stuido生成项目,已经成功生成了对应的可执行文件(.exe)。但是在执行预测命令时发生如下的报错:。 下面是尝试修改的方式: 1.将编译命令中PADDLE_LIB_NAME=libpaddle_inference,即

cmake . -G "Visual Studio 16 2019" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DCUDA_LIB=E:\Program\tools\CUDA\v10.2\lib\x64 -DCUDNN_LIB=E:\Program\tools\CUDA\v10.2\lib\x64 -DPADDLE_DIR=E:\Program\tools\paddle_inference -DPADDLE_LIB_NAME=libpaddle_inference -DOPENCV_DIR=E:\Program\tools\opencv

在cmake环节就会失败。

  1. 将paddle_inference\third_party\install\paddle2onnx\lib下的paddle2onnx.dll复制到生成目录Release下 发生如下的报错:

复现环境 Environment

是否愿意提交PR Are you willing to submit a PR?

lyuwenyu commented 2 years ago

paddle2onnx正确安装了嘛, 可以在这里搜一下 https://github.com/PaddlePaddle/Paddle2ONNX/issues

JackDance commented 2 years ago

@lyuwenyu 你好,使用paddle_inference2.3版本的预测库还是不行。使用paddle_inference2.2.1版本可以在生成main.exe且启动时不发生第一张图显示的报错。但是在执行如下预测命令的时候:

.\main.exe --model_dir=.\model --image_file=.\d4_1597277160_img_1.jpg

terminal中没有显示任何信息,几秒钟之后就终止了。可以帮忙看下吗

dengmingD commented 2 years ago
299B7735-5EA0-48f4-8840-2E7BF1BA2B53
dengmingD commented 2 years ago

少dll

JackDance commented 2 years ago

嗯嗯,感谢 @dengmingD 解答,根据解答,已经成功运行了

JackDance commented 2 years ago

@dengmingD ,还有一个小bug,就是用绝对路径进行模型预测时,图片保存的路径是有问题的。示例如下:

.\main --model_dir=E:\Program\trained_model \
    --image_file=E:\Program\test_imgs\d4_1597277160_img_1.jpg \
    --device GPU \
    --output_dir E:\Program\swineCountingGPU\output

保存的图片路径:

E:\Program\swineCountingGPU\output\E:\Program\test_imgs\d4_1597277160_img_1.jpg