vs2019编译PaddlePaddle C++

参考paddlepaddle官网

链接: https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/deploy/cpp_infer/docs/windows_vs2019_build.md

环境的准备

版本一定要对不然很麻烦。
1.Visual Studio 2019
2.CUDA 10.2 , CUDNN 7+ (仅在使用GPU版本的预测库时需要)
3.CMake 3.22+
请确保系统已经安装好上述基本软件,我们使用的是VS2019的社区版。

下载 PaddlePaddle C++ 预测库和 Opencv

下载 PaddlePaddle C++ 预测库

PaddlePaddle C++ 预测库针对不同的CPU和CUDA版本提供了不同的预编译版本,请根据实际情况下载: C++预测库下载列表
解压后D:\projects\paddle_inference目录包含内容为:
paddle_inference
├── paddle # paddle核心库和头文件
|
├── third_party # 第三方依赖库和头文件
|
└── version.txt # 版本和编译信息

安装配置OpenCV

1.在OpenCV官网下载适用于Windows平台的Opencv,下载地址
因为后面会用到编译好的opencv,这里建议下载对应版本的.exe安装包,安装包安装好以后就会有后面要用的东西,可以省去CMake编译的过程,因为编译的过程非常的漫长。

2.运行下载的可执行文件,将OpenCV解压至指定目录,如D:\projects\cpp\opencv

下载PaddleOCR代码

链接: https://github.com/PaddlePaddle/PaddleOCR

下载TensorRT

后面会用到TensorRT的库所以现在先准备好,在下载C++预测库的时候就会有提示需要下载哪个版本的TensoRT,按照对应的版本。TensorRT 官方下载: [https://developer.nvidia.com/zh-cn/tensorrt],(https://developer.nvidia.com/zh-cn/tensorrt)
根据网上的配置环境教程配置好就欧克。
在这里插入图片描述

开始运行

构建Visual Studio项目

1.打开cmake-gui,在第一个输入框处填写源代码路径,第二个输入框处填写编译输出路径
在这里插入图片描述
2.执行cmake配置
点击界面下方的Configure按钮,第一次点击会弹出提示框进行Visual Studio配置,如下图,选择你的Visual Studio版本即可,目标平台选择x64。然后点击finish按钮即开始自动执行配置。请添加图片描述
第一次执行会报错,这是正常现象,接下来进行Opencv和预测库的配置。

cpu版本,仅需考虑OPENCV_DIR、OpenCV_DIR、PADDLE_LIB三个参数

-OPENCV_DIR:填写opencv lib文件夹所在位置
-OpenCV_DIR:同填写opencv lib文件夹所在位置
-PADDLE_LIB:paddle_inference文件夹所在位置,就是上面的预测库文件所在位置

GPU版本,在cpu版本的基础上,还需填写以下变量
CUDA_LIB、CUDNN_LIB、TENSORRT_DIR、WITH_GPU、WITH_TENSORRT

-CUDA_LIB: CUDA地址,如 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
-CUDNN_LIB: 和CUDA_LIB一致
-TENSORRT_DIR:TRT下载后解压缩的位置,如 D:\TensorRT-8.0.1.6,这个就是上面下载TensoRT的目录位置
-WITH_GPU: 打钩
-WITH_TENSORRT:打勾

配置好的截图如下:
请添加图片描述
如果显示有CMake的错误可以忽略掉,如果过程中出现如图错误,则说明有配置选项没有找到。
在这里插入图片描述
配置完成后,再次点击Configure按钮。

3.生成Visual Studio 项目
点击Generate按钮即可生成Visual Studio 项目的sln文件。请添加图片描述
点击Open Project按钮即可在Visual Studio 中打开项目。打开后截图如下请添加图片描述
官网中给出在生成解决方案之前要执行下面的步骤
1.将Debug改为Release
2…下载dirent.h,并拷贝到 Visual Studio 的 include 文件夹下,如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include。

点击生成->生成解决方案,即可在build/Release/文件夹下看见ppocr.exe文件,就是在你编译输出的路径里的Release/文件夹下看见ppocr.exe文件。

运行之前,将下面文件拷贝到build/Release/文件夹下

1.paddle_inference/paddle/lib/paddle_inference.dll
2.paddle_inference/third_party/install/onnxruntime/lib/onnxruntime.dll
3.paddle_inference/third_party/install/paddle2onnx/lib/paddle2onnx.dll
4.opencv/build/x64/vc15/bin/opencv_world455.dll
5.如果使用openblas版本的预测库还需要拷贝 paddle_inference/third_party/install/openblas/lib/openblas.dll
上面的步骤完成就可以进行最后一步进行验证是否可以正常运行。

4.预测
进入到生成ppocr.exe文件目录下,在文件栏里输入cmd回车键就进入到了此目录下
在这里插入图片描述可执行文件ppocr.exe即为样例的预测程序。在预测之前需要下载官方给出的模型。

预测

#下载超轻量中文检测模型:
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar

#下载超轻量中文识别模型:
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar

上面两个文件一个文件是det文件,一个是rec文件,两个都需要下载。

具体看官网: https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/doc/doc_ch/inference_ppocr.md

上面模型准备好以后就可以进行预测了,在上面打开的终端里输入

//切换终端编码为utf8
CHCP 65001
//执行预测
ppocr.exe system --det_model_dir=D:\projects\cpp\ch_PP-OCRv2_det_slim_quant_infer --rec_model_dir=D:\projects\cpp\ch_PP-OCRv2_rec_slim_quant_infer --image_dir=D:\projects\cpp\PaddleOCR\doc\imgs\11.jpg

–det_model_dir:就是上面下载好的dst解压文件的目录位置。
–rec_model_dir:下载好的rec解压文件的目录位置
image_dir:图片的位置

如果报错如图,就在PaddleOCR-release-2.5中找到ppocr文件夹复制一份,粘贴到与PaddleOCR-release-2.5同级的目录下,然后运行即可。
在这里插入图片描述

运行时,弹窗报错提示应用程序无法正常启动(0xc0000142),并且cmd窗口内提示You are using Paddle compiled with TensorRT, but TensorRT dynamic library is not found.,把tensort目录下的lib里面的所有dll文件复制到release目录下,再次运行即可。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值