文章目录

  • ​​一、安装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)_linux

二、测试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)_linux_02


将下载好的预测库解压到该文件夹 (务必在Linux端解压,否则编译会报错),并将​​paddle_inference_install_dir​​​改名为​​paddle_inference​

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

3.配置路径

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

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

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


修改​​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.h​​​和​​NvInferVersion.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.so​​​和​​libnvinfer_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++部署的相关文章~