Jetson系列——基于C++部署Paddle Inference GPU预测库(2.1.1)

文章目录

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

一、安装PaddlePaddle

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

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

下载安装Linux预测库

Jetson系列——基于C++部署Paddle Inference GPU预测库(2.1.1)_第1张图片

二、测试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文件夹:
Jetson系列——基于C++部署Paddle Inference GPU预测库(2.1.1)_第2张图片
将下载好的预测库解压到该文件夹 (务必在Linux端解压,否则编译会报错),并将paddle_inference_install_dir改名为paddle_inference

Jetson系列——基于C++部署Paddle Inference GPU预测库(2.1.1)_第3张图片

3.配置路径

此处以yolov3为例进行介绍:

进入yolov3文件夹下:
Jetson系列——基于C++部署Paddle Inference GPU预测库(2.1.1)_第4张图片
修改compile.sh

WITH_MKL=OFF # 只有Intel CPU的需要设置ON,ARM架构都是OFF
WITH_GPU=ON # 开启GPU
USE_TENSORRT=OFF # 开启TensorRT需要另行操作,先OFF
# Jetson设备的配置如下,不用修改:
LIB_DIR=${work_path}/../lib/paddle_inference
CUDNN_LIB=/usr/lib/aarch64-linux-gnu/
CUDA_LIB=/usr/local/cuda/lib64
TENSORRT_ROOT=/usr/src/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 /usr/src/tensorrt TENSORRT_ROOT=/usr/src/tensorrt
Paddle Inference预测库 自行设置 LIB_DIR=${work_path}/../lib/paddle_inference/

配置tensorRT库文件

如果你在编译的时候:USE_TENSORRT=ON,那么就需要对TensorRT进行配置:

在JetPack中已经预装了TensorRT,如果想使用TensorRT,只需要将TensorRT的相关头文件和链接库移动到TensorRT的根目录即可,其他系统上的步骤相同,只是位置稍有差异。

  • 移动头文件NvInfer.hNvInferVersion.h
sudo mkdir /usr/src/tensorrt/include
sudo cp /usr/include/aarch64-linux-gnu/NvInfer.h /usr/src/tensorrt/include/
sudo cp /usr/include/aarch64-linux-gnu/NvInferVersion.h /usr/src/tensorrt/include/
  • 移动库文件libnvinfer.solibnvinfer_plugin.so
sudo mkdir /usr/src/tensorrt/lib
sudo cp /usr/lib/aarch64-linux-gnu/libnvinfer.so /usr/src/tensorrt/lib/
sudo cp /usr/lib/aarch64-linux-gnu/libnvinfer_plugin.so /usr/src/tensorrt/lib/

4.测试跑通GPU预测模型

sudo ./run.sh

因为我在PC机上的Ubuntu系统中操作,所以Jetson板卡上没法截图,所以我这里就没有贴图,但是已经验证成功了!如果你按照博客也运行成功,记得点个赞嘻嘻,我会继续分享Ubuntu系统下关于C++部署的相关文章~

你可能感兴趣的:(Linux,C++,c++,paddle)