ubuntu+Paddle Inference GPU C++部署
本人环境如下
ubuntu 18.04
cuda 11.4
cudnn 8.6.0
gcc 9.4.0 (8版本之后的应该都行)
cmake-3.26.5-linux-x86_64 (这个版本之间区别应该不大,新点的版本就好)
opencv(这个我一会教程里面会写)
本人主要参考官网的教程
官网链接如下
https://github.com/PaddlePaddle/PaddleOCR/blob/main/deploy/cpp_infer/readme_ch.md
第一步,下载或者编译Paddle预测库
有两种方式
第一种方法是去官网下载官方已经编译好的预测库,找好对应的版本即可
第二种方法是自己编译适合自己版本的预测库,这个官网下面也有教程,但是我没有编译成功。
下载安装 Linux 推理库-PaddlePaddle深度学习平台
下载预测库的链接如上,我选的是cuda11.6的,虽然我是cuda11.4,但是亲测下载这个也可以用

下载好的文件内容入下图

第二步,下载PaddleOCR源码
首先,在终端输入下面的命令
git clone https://github.com/PaddlePaddle/PaddleOCR.git
git checkout release/2.2
然后,要安装opencv。
原来自己有opencv也没事,也要按照我下面的流程安一遍,不影响你以前的opencv。
在PaddleOCR文件夹内按右键打开终端,输入下面的命令
cd deploy/cpp_infer
wget https://paddleocr.bj.bcebos.com/libs/opencv/opencv-3.4.7.tar.gz
tar -xf opencv-3.4.7.tar.gz
可以在当前目录下看到opencv-3.4.7/的文件夹
然后编译opencv,设置opencv源码路径(root_path)以及安装路径(install_path)
进入opencv-3.4.7文件夹内,按右键打开终端,输入下面的命令
root_path=/home/yuanzebin/PaddleOCR/deploy/cpp_infer/opencv-3.4.7/
然后回车,然后输入下面的命令
install_path=${root_path}/opencv3
然后回车,然后输入下面的命令
build_dir=${root_path}/build
然后回车,然后输入下面的命令
rm -rf ${build_dir}
然后回车,然后输入下面的命令
mkdir ${build_dir}
然后回车,然后输入下面的命令
cd ${build_dir}
然后回车,然后输入下面的命令
cmake .. \
-DCMAKE_INSTALL_PREFIX=${install_path} \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_IPP=OFF \
-DBUILD_IPP_IW=OFF \
-DWITH_LAPACK=OFF \
-DWITH_EIGEN=OFF \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DWITH_ZLIB=ON \
-DBUILD_ZLIB=ON \
-DWITH_JPEG=ON \
-DBUILD_JPEG=ON \
-DWITH_PNG=ON \
-DBUILD_PNG=ON \
-DWITH_TIFF=ON \
-DBUILD_TIFF=ON
然后回车
cmake结束后,输入右侧的命令make -j8
然后输入make install
opencv编译完成,最终在安装路径下的文件结构如下所示

第三步,开始运行(准备模型)
首先在PaddleOCR/deploy/cpp_infer/内创建inference文件夹,如下图所示

然后点击下面的链接
进入链接后,选择2.2版本,如上图,然后点击readme文件,如下图

进入readme文件后,往下滑,下载下图红圈的文件

把这三个文件解压,然后放在PaddleOCR/deploy/cpp_infer/的inference文件夹里面
文件结构如下:

第四步,开始运行(编译PaddleOCR C++预测demo)
打开下图高亮的文档

修改文档内容,改下图红色圈里的,改成模型文件名字

保存/config.txt文档
然后在/home/yuanzebin/PaddleOCR/deploy/cpp_infer文件夹下,右键鼠标打开终端
输入下面的命令,注意修改为自己的路径
cmake .. \
-DPADDLE_LIB=/home/yuanzebin/paddle_inference/ \
-DWITH_MKL=OFF \
-DWITH_GPU=OFF \
-DWITH_STATIC_LIB=OFF \
-DWITH_TENSORRT=OFF \
-DOPENCV_DIR=/home/yuanzebin/PaddleOCR/deploy/cpp_infer/opencv-3.4.7/opencv3/
cmake结束后,输入右侧的命令make -j8
第五步,开始运行(运行demo)
在/home/yuanzebin/PaddleOCR/deploy/cpp_infer文件夹下,右键鼠标打开终端
输入下面的命令
./build/ocr_system ./tools/config.txt /home/yuanzebin/PaddleOCR/doc/imgs/12.jpg
可能会出现如下报错

这个报错意思是找不到libpaddle2onnx.so.1.0.0rc2
首先你要手动取搜索这个文件在哪里
然后在终端中输入下面的命令
export LD_LIBRARY_PATH=/home/yuanzebin/paddle_inference/third_party/install/paddle2onnx/lib:$LD_LIBRARY_PATH
然后继续执行下面的命令
![]()
还会遇到类似的报错,都找不到某一个文件
也是手动找一下这个文件,然后输入下面的类似命令,改成这个文件所在的路径。


更多推荐
https://github.com/PaddlePaddle/PaddleOCR
所有评论(0)