0
点赞
收藏
分享

微信扫一扫

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)


文章目录

  • ​​一、环境检查​​
  • ​​二、安装PaddlePaddle​​
  • ​​1.直接下载编译好的C++预测库​​
  • ​​二、测试Paddle Inference​​
  • ​​1.环境准备​​
  • ​​2.配置Paddle inference预测库​​
  • ​​3.配置路径​​
  • ​​常用组件路径​​
  • ​​配置tensorRT库文件​​
  • ​​4.测试跑通GPU预测模型​​

一、环境检查

  • CUDA版本
  • cudnn版本
  • gcc版本(一般来说,系统自己下的gcc都7.6左右版本,没有8.2的,所以如果要编译,一定要重装8.2版本的gcc,参考链接:​​ubuntu18.04 安装指定版本的gcc-8.2​​)
  • cmake版本

二、安装PaddlePaddle

有两种方式,因为X86环境在PaddlePaddle官方有已经编译好的预测库,所以我们直接下载就好,不用编译,当然如果JetPack版本不匹配,无法使用编译好的预测库,那么就需要编译。

1.直接下载编译好的C++预测库

​​下载安装Linux预测库​​ 根据自己电脑的版本型号进行选择即可:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_paddle

二、测试Paddle Inference

1.环境准备

拉取​​Paddle-Inference-Demo​​:

git clone https://github.com.cnpmjs.org/PaddlePaddle/Paddle-Inference-Demo.git

  • Tips:这里用了一个Github国内镜像源的小技巧来加快​​git clone​​速度,想学的小伙伴可以参考博客:​​Git——git clone速度加快方法​​

2.配置Paddle inference预测库

进入​​Paddle-Inference-Demo-master​​​中的​​lib​​文件夹:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_CUDA_02


将下载好的预测库解压到该文件夹,并将​​paddle_inference_install_dir​​​改名为​​paddle_inference​

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_paddle_03

3.配置路径

此处以​​yolov3​​为例进行介绍:

进入​​yolov3​​文件夹下:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_c++_04


修改​​compile.sh​​:

WITH_MKL=ON # 只有Intel CPU的需要设置ON,ARM架构都是OFF
WITH_GPU=ON # 开启GPU
# tensorrt建议先OFF,如果GPU编译运行成功后,再测试tensorrt
USE_TENSORRT=OFF # TensorRT,需要另行操作

# 路径配置如下,不用修改:
LIB_DIR=${work_path}/../lib/paddle_inference # 不变
CUDNN_LIB=/usr/lib/x86_64-linux-gnu/ # 不变
CUDA_LIB=/usr/local/cuda/lib64 # 一般来说,只要装好了cuda,都不需要更改
TENSORRT_ROOT=/home/pc/Softwares/cuda/tensorRT7/TensorRT-7.2.3.4 # 必须改!!改成自己的tensorrt安装的根路径

常用组件路径

组件

路径

库文件路径设置

CUDA

​/usr/local/cuda/​

​CUDA_LIB=/usr/local/cuda/lib64​

cuDNN

​/usr/src/cudnn_samples_v8/​

​CUDNN_LIB=/usr/lib/aarch64-linux-gnu/​

TensorRT

你的tesorrt安装路径

​TENSORRT_ROOT=/usr/src/tensorrt​

Paddle Inference预测库

自行设置

​LIB_DIR=${work_path}/../lib/paddle_inference/​

配置tensorRT库文件

我这里用tensorRT可以编译成功,但是在运行时会报错:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_paddlepaddle_05

该文件​​libnvrtc.so.10.2​​​是存在的,就在​​cuda/lib64​​的路径下,但是报错找不到,解决方法是:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_git_06


重载一下cuda动态链接库为系统所共享:

sudo ldconfig /usr/local/cuda-10.2/lib64

现在在开启tensorRT,遇到了如下问题,应该是tensorRT的版本与编译时的版本不兼容导致的,所以目前就只开启GPU吧。

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_git_07

4.测试跑通GPU预测模型

sudo ./run.sh

GPU预测结果:

PaddlePaddle——在X86的Ubuntu18.04中基于C++部署Paddle Inference GPU预测库(2.1.1)_paddlepaddle_08

成功运行~

参考文章:

  • ​​libcudart.so.8.0: cannot open shared object file: No such file or directory 的解决办法​​
  • ​​libiomp5.so: cannot open shared object file: No such file or directory​​
  • ​​libdnnl.so.2: cannot open shared object file: No such file or directory​​


举报

相关推荐

0 条评论