文章目录
一、环境检查
- CUDA版本
- cudnn版本
- gcc版本(一般来说,系统自己下的gcc都7.6左右版本,没有8.2的,所以如果要编译,一定要重装8.2版本的gcc,参考链接:ubuntu18.04 安装指定版本的gcc-8.2)
- cmake版本
二、安装PaddlePaddle
有两种方式,因为X86环境在PaddlePaddle官方有已经编译好的预测库,所以我们直接下载就好,不用编译,当然如果JetPack版本不匹配,无法使用编译好的预测库,那么就需要编译。
1.直接下载编译好的C++预测库
下载安装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
文件夹:
将下载好的预测库解压到该文件夹,并将paddle_inference_install_dir
改名为paddle_inference
3.配置路径
此处以yolov3
为例进行介绍:
进入yolov3
文件夹下:
修改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可以编译成功,但是在运行时会报错:
该文件libnvrtc.so.10.2
是存在的,就在cuda/lib64
的路径下,但是报错找不到,解决方法是:
重载一下cuda动态链接库为系统所共享:
sudo ldconfig /usr/local/cuda-10.2/lib64
现在在开启tensorRT,遇到了如下问题,应该是tensorRT的版本与编译时的版本不兼容导致的,所以目前就只开启GPU吧。
4.测试跑通GPU预测模型
sudo ./run.sh
GPU预测结果:
成功运行~
参考文章: