赞
踩
官网:Paddle Inference在Windows上部署(C++)
Visual Studio 2017
CUDA 10.2
CUDNN 7.6.5
TensorRT 7.0
OpenCV 4.5.4
下载准备好的预测模型到本地,用于后续测试。 如果需要测试其他模型,请参考文档导出预测模型。
预测模型文件格式如下:
pp_liteseg_infer_model
├── deploy.yaml # 部署相关的配置文件,主要说明数据预处理方式等信息
├── model.pdmodel # 预测模型的拓扑结构文件
├── model.pdiparams # 预测模型的权重文件
└── model.pdiparams.info # 参数额外信息,一般无需关注
model.pdmodel可以通过Netron 打开进行模型可视化,点击输入节点即可看到预测模型的输入输出的个数、数据类型(比如int32_t, int64_t, float等)。 如果模型的输出数据类型不是int32_t,执行默认的代码后会报错。此时需要大家手动修改deploy/cpp/src/test_seg.cc文件中的下面代码,改为输出对应的数据类别:
std::vector<int32_t> out_data(out_num);
下载cityscapes验证集中的一张图片到本地,用于后续测试。
工程整体目录结构如下:
G:/paddle/c++
├── paddle_inference
└── PaddleSeg
编译参数的说明如下,其中带*表示仅在使用GPU版本预测库时指定,带#表示仅在使用TensorRT时指定。
参数名 含义
*WITH_GPU 是否使用GPU,默认为OFF;
*CUDA_LIB CUDA的库路径;
*USE_TENSORRT 是否使用TensorRT,默认为OFF;
#TENSORRT_DLL TensorRT的.dll文件存放路径;
WITH_MKL 是否使用MKL,默认为ON,表示使用MKL,若设为OFF,则表示使用Openblas;
CMAKE_BUILD_TYPE 指定编译时使用Release或Debug;
PADDLE_LIB_NAME Paddle预测库名称;
OPENCV_DIR OpenCV的安装路径;
PADDLE_LIB Paddle预测库的安装路径;
DEMO_NAME 可执行文件名;
GPU使用TensorRT推理,命令如下:
cmake .. -G "Visual Studio 16 2019" -A x64 -T host=x64 -DUSE_TENSORRT=ON -DWITH_GPU=ON -DWITH_MKL=ON -DCMAKE_BUILD_TYPE=Release -DPADDLE_LIB_NAME=paddle_inference -DCUDA_LIB="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64" -DOPENCV_DIR=D:\projects\opencv -DPADDLE_LIB=D:\projects\paddle_inference -DTENSORRT_DLL="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin" -DDEMO_NAME=test_seg
配置CMakeLists.txt
点击“Generate”->"Open Project"即可。
用Visual Studio 2017打开cpp\build\cpp_inference_demo.sln
,将编译模式设置为Release
,点击生成->生成解决方案,在cpp\build\Release
文件夹内生成test_seg.exe
。
进入到build/Release目录下,将准备的模型和图片放到test_seg.exe同级目录,build/Release目录结构如下:
Release
├──test_seg.exe # 可执行文件
├──cityscapes_demo.png # 测试图片
├──pp_liteseg_infer_model # 推理用到的模型
├── deploy.yaml # 部署相关的配置文件,主要说明数据预处理方式等信息
├── model.pdmodel # 预测模型的拓扑结构文件
├── model.pdiparams # 预测模型的权重文件
└── model.pdiparams.info # 参数额外信息,一般无需关注
├──*.dll # dll文件
运行以下命令进行推理,GPU推理:
test_seg.exe --model_dir=./pp_liteseg_infer_model --img_path=./cityscapes_demo.png --devices=GPU
预测结果保存为out_img.jpg,该图片使用了直方图均衡化,便于可视化。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。