Paddle框架转C++的Cmake编译

本文详细介绍了在Windows 10上配置CUDA, CUDNN, VS2019和CMake环境,以及编译Paddle-Inference-Demo的C++源码。重点讲解了如何生成.sln文件,修改链接库名称,设置CUDA头文件和库路径,并最终成功运行YoloV3的预测演示。过程中特别提到了动态链接库可能出现的问题,以及解决办法。
摘要由CSDN通过智能技术生成

1.前置工作

需要配置好以下环境

  • cuda 10.2
  • cudnn 7.6.5
  • vs 2019
  • cmake 3.17.0
  • 以及编译好的paddle预测库,目前使用官方编译好的动态链接库会提示文件损坏,需要自行编译预测库,预测库win10平台下编译教程请看下面链接

Paddle-Inference win10平台C++源码编译

克隆源码

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

由于源码里面有多个项目,编译测试使用以下项目

Paddle-Inference-Demo\c++\paddle_infer_demo

 
 
  • 1

该项目对应预训练模型下载, 运行的时候需要用到

https://paddle-inference-dist.bj.bcebos.com/Paddle-Inference-Demo/yolov3_r34_float.tgz

 
 
  • 1

解压后为model.pdmodel和model.pdiparams两个文件

2.使用Cmake生成.sln文件

Configure选择vs2019,x64。相关配置如下,使用tensorrt需手动添加TENSORRT_ROOT。
Cmake配置
配置好点击Configure -> Generate -> Open Project启动VS 2019编译

3.编译源码

进入VS后,将Debug配置改为Release。

3.1 打开VS后添加CUDA的头文件路径(include)和链接库路径(lib/x64)

头文件路径:
头文件路径
链接库路径:
链接库路径

3.2 修改paddle链接库名字

自行从源码编译的链接库名字是paddle_fluid, 但是编译的时候用的是libpaddle_inference。所以需要复制一份改为libpaddle_inference。
链接库

3.4 编译

右键ALL_BUILD项目生成
编译

3.5 运行demo

编译成功后,右键yolov3_test项目,点击属性。点击调试,在调试输入以下指令。

# 分别输入模型和权重文件路径, 在第一节的时候提示需要下载的两个文件
--model_file .\model.pdmodel --params_file .\model.pdiparams

 
 
  • 1
  • 2

命令参数
配置完成后点击顶部菜单->调试->开始执行(不调试),执行效果如下图所示。
运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值