FastDeploy部署(C++ Win10)

参考链接:FastDeploy C++部署保姆级教程

FastDeploy是百度为了解决AI部署落地难题,发布的新一代面向产业实践的推理部署工具。它旨在为AI开发者提供模型部署最优解,具备全场景、简单易用、极致高效三大特点。项目地址:FastDeploy项目地址

部署环境:

  • 系统:Windows10
  • VS版本:Visual Studio 2017
  • CUDA:11.6
  • cuDNN:8.9.0

Win10环境下FastDeploy C++部署:

  1. 下载C++ SDK预编译库,下载地址:C++ SDK预编译库

GPU部署官方环境要求:

  • CUDA >= 11.2
  • cuDNN >= 8.0

下载FastDeploy的GPU版本,下载地址(1.0.2版本):https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-win-x64-gpu-1.0.2.zip

  1. 解压C++ SDK预编译库

对下载的fastdeploy-win-x64-gpu-1.0.2.zip进行解压,我的解压路径:D:\FastDeploy,解压后文件内容如下:
在这里插入图片描述
注意:参考链接中,作者说解压路径中最好不要有空格等特殊字符,原因是后续使用fastdeploy_init.bat抽取.dll文件时找不到路径。

  1. 数据准备

下载模型:https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz
用于测试的图像:
在这里插入图片描述

  1. 开发代码

创建1个文件夹FastDeploy_Test(路径最好为全英文),在文件夹下创建文件FastDeploy_Test.cpp,可使用记事本或VS打开,打开后复制以下内容至FastDeploy_Test.cpp:

// 包含vision.h文件
#include "fastdeploy/vision.h"

// main函数程序主入口
int main(int argc, char* argv[]) {
  // 声明命名空间
  namespace vision = fastdeploy::vision;
  // opencv读取推理图片
  auto im = cv::imread("000000014439.jpg");
  // 加载部署模型
  auto model = vision::detection::PPYOLOE("ppyoloe_crn_l_300e_coco/model.pdmodel",
                                          "ppyoloe_crn_l_300e_coco/model.pdiparams",
                                          "ppyoloe_crn_l_300e_coco/infer_cfg.yml");
  
  // 声明检测结果
  vision::DetectionResult res;
  // 模型预测获取检测结果
  model.Predict(&im, &res);

  // 设置阈值过滤检测结果
  auto vis_im = vision::VisDetection(im, res, 0.5);
  // opencv将检测结果保存为图像
  cv::imwrite("vis_image.jpg", vis_im);
  // 程序结束
  return 0;
 }

注意:imread读取的图像文件名要和测试图像的文件名一致。

  1. 配置编译链接环境

可以使用CMakeLists.txt配置或visual studio新建项目手动配置包含目录和库目录(试了一下,确实不如CMakeLists.txt配置来的方便)。在FastDeploy_Test.cpp的同级目录下,新建CMakeLists.txt,打开后复制以下内容:

PROJECT(FastDeploy_Test C CXX)
CMAKE_MINIMUM_REQUIRED (VERSION 3.10)

# 指定下载解压后的fastdeploy库路径
option(FASTDEPLOY_INSTALL_DIR "Path of downloaded fastdeploy sdk.")

include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)

# 添加FastDeploy依赖头文件
include_directories(${FASTDEPLOY_INCS})

add_executable(FastDeploy_Test ${PROJECT_SOURCE_DIR}/FastDeploy_Test.cpp)
target_link_libraries(FastDeploy_Test ${FASTDEPLOY_LIBS})
  1. 编译生成解决方案

    (1)打开x64 Native Tools Command Prompt for VS 2017命令工具
    点击开始菜单,找到x64 Native Tools Command Prompt for VS 2017命令工具(也可能叫做 “适用于 VS 2017 的 x64 本机工具命令提示”),并使用cd命令切换到项目目录FastDeploy_Test
    在这里插入图片描述
    (2)编译FastDeploy_Test
    创建build文件夹并cd到该文件夹:

mkdir build && cd build

编译项目FastDeploy_Test:

cmake .. -G "Visual Studio 15 2017" -A x64 -DFASTDEPLOY_INSTALL_DIR="D:\fastdeploy\fastdeploy-win-x64-gpu-1.0.2" -DCUDA_DIRECTORY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6"

注意:DFASTDEPLOY_INSTALL_DIR指定你的FastDeploy预编译库目录,DCUDA_DIRECTORY指定你的cuda目录。
运行结果如下:
在这里插入图片描述
build文件夹内容如下:
在这里插入图片描述

(3)生成exe文件:

msbuild FastDeploy_Test.sln /m:4 /p:Configuration=Release /p:Platform=x64

运行结果:
在这里插入图片描述

build文件夹内容更新:
在这里插入图片描述
生成的exe文件在release文件夹中,但是现在还无法运行,因为没有模型和数据。
(4)拷贝模型和数据
将ppyoloe_crn_l_300e_coco文件夹(推理模型)和000000014439.jpg文件(推理图片)拷贝到release文件夹下
在这里插入图片描述

  1. dll文件抽取

    (1)查看dll文件
    进入FastDeploy预编译类目录,执行以下命令

fastdeploy_init.bat show “D:/fastdeploy/fastdeploy-win-x64-gpu-1.0.2

在这里插入图片描述
(2)抽取项目所需dll文件到指定目录
进入FastDeploy预编译类目录,执行命令

fastdeploy_init.bat install "D:/FastDeploy/fastdeploy-win-x64-gpu-1.0.2" "D:/FastDeploy/FastDeploy_Test/build/Release"

点击 “y” 后,再按下任意键后开始抽取dll文件,完成后release文件夹内容如下:
在这里插入图片描述

  1. 项目运行
    双击release下的FastDeploy_Test.exe文件,等待程序执行,完成后检测结果将出现在release文件夹。
    在这里插入图片描述
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值