mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 00:57:33 +08:00
[docs] update win build docs with cmake-gui+vs2019 (#280)
* Delete redundant Chinese comments * [docs] update win build docs with cmake-gui+vs2019 * [docs] update win build docs with cmake-gui+vs2019 * [examples] replace some cn comments with en * [cmake] update FastDeploy.cmake.in * [docs] update windows c++ sdk usage docs * [cmake] update FastDeploy.cmake.in * [docs] update windows sdk usage docs Co-authored-by: Jason <jiangjiajun@baidu.com>
This commit is contained in:
@@ -1,6 +1,22 @@
|
||||
# Windows编译
|
||||
# FastDeploy Windows SDK 编译
|
||||
|
||||
## 环境依赖
|
||||
## 目录
|
||||
- [环境依赖](#Environment)
|
||||
- [命令行方式编译C++ SDK](#CommandLineCpp)
|
||||
- [编译CPU版本 C++ SDK](#CommandLineCppCPU)
|
||||
- [编译GPU版本 C++ SDK](#CommandLineCppGPU)
|
||||
- [命令行方式编译Python Wheel包](#CommandLinePython)
|
||||
- [编译CPU版本 Python Wheel包](#CommandLinePythonCPU)
|
||||
- [编译GPU版本 Python Wheel包](#CommandLinePythonGPU)
|
||||
- [CMake GUI + Visual Studio 2019 IDE方式编译C++ SDK](#CMakeGuiAndVS2019)
|
||||
- [使用CMake GUI进行基础配置](#CMakeGuiAndVS2019Basic)
|
||||
- [编译CPU版本 C++ SDK设置](#CMakeGuiAndVS2019CPU)
|
||||
- [编译GPU版本 C++ SDK设置](#CMakeGuiAndVS2019GPU)
|
||||
- [使用Visual Studio 2019 IDE进行编译](#CMakeGuiAndVS2019Build)
|
||||
- [Windows下FastDeploy C++ SDK使用方式](#Usage)
|
||||
|
||||
## 1. 环境依赖
|
||||
<div id="Environment"></div>
|
||||
|
||||
- cmake >= 3.12
|
||||
- Visual Studio 16 2019
|
||||
@@ -8,7 +24,11 @@
|
||||
- cudnn >= 8.0 (当WITH_GPU=ON)
|
||||
- TensorRT >= 8.4 (当ENABLE_TRT_BACKEND=ON)
|
||||
|
||||
## 编译CPU版本 C++ SDK
|
||||
## 2. 命令行方式编译C++ SDK
|
||||
<div id="CommandLineCpp"></div>
|
||||
|
||||
### 编译CPU版本 C++ SDK
|
||||
<div id="CommandLineCppCPU"></div>
|
||||
|
||||
Windows菜单打开`x64 Native Tools Command Prompt for VS 2019`命令工具,其中`CMAKE_INSTALL_PREFIX`用于指定编译后生成的SDK路径
|
||||
|
||||
@@ -23,7 +43,8 @@ msbuild INSTALL.vcxproj /m /p:Configuration=Release /p:Platform=x64
|
||||
```
|
||||
编译后,FastDeploy CPU C++ SDK即在`D:\Paddle\FastDeploy\build\fastdeploy-win-x64`目录下
|
||||
|
||||
## 编译GPU版本 C++ SDK
|
||||
### 编译GPU版本 C++ SDK
|
||||
<div id="CommandLineCppGPU"></div>
|
||||
|
||||
Windows菜单打开`x64 Native Tools Command Prompt for VS 2019`命令工具,其中`CMAKE_INSTALL_PREFIX`用于指定编译后生成的SDK路径
|
||||
|
||||
@@ -44,7 +65,11 @@ msbuild INSTALL.vcxproj /m /p:Configuration=Release /p:Platform=x64
|
||||
```
|
||||
编译后,FastDeploy GPU C++ SDK即在`D:\Paddle\FastDeploy\build\fastdeploy-win-x64-gpu`目录下
|
||||
|
||||
## 编译CPU版本 Python Wheel包
|
||||
## 命令行方式编译Python Wheel包
|
||||
<div id="CommandLinePython"></div>
|
||||
|
||||
### 编译CPU版本 Python Wheel包
|
||||
<div id="CommandLinePythonCPU"></div>
|
||||
|
||||
Windows菜单打开x64 Native Tools Command Prompt for VS 2019命令工具。Python编译时,通过环境变量获取编译选项,在命令行终端运行以下命令
|
||||
```bat
|
||||
@@ -65,7 +90,9 @@ C:\Python38\python.exe setup.py bdist_wheel
|
||||
C:\Python38\python.exe -m pip install dist\fastdeploy_python-0.2.1-cp38-cp38-win_amd64.whl
|
||||
```
|
||||
|
||||
## 编译GPU版本 Python Wheel包
|
||||
### 编译GPU版本 Python Wheel包
|
||||
<div id="CommandLinePythonGPU"></div>
|
||||
|
||||
Windows菜单打开x64 Native Tools Command Prompt for VS 2019命令工具。Python编译时,通过环境变量获取编译选项,在命令行终端运行以下命令
|
||||
```bat
|
||||
% 说明:CUDA_DIRECTORY 为用户自己的CUDA目录 以下为示例 %
|
||||
@@ -92,3 +119,139 @@ C:\Python38\python.exe setup.py bdist_wheel
|
||||
C:\Python38\python.exe -m pip install dist\fastdeploy_gpu_python-0.2.1-cp38-cp38-win_amd64.whl
|
||||
```
|
||||
更多编译选项说明参考[编译指南](./README.md)
|
||||
|
||||
## 3. CMake GUI + Visual Studio 2019 IDE方式编译C++ SDK
|
||||
<div id="CMakeGuiAndVS2019"></div>
|
||||
|
||||
### 使用CMake GUI进行基础配置
|
||||
<div id="CMakeGuiAndVS2019Basic"></div>
|
||||
|
||||
步骤一:首先,打开CMake GUI,先初始化FastDeploy工程:
|
||||
|
||||

|
||||
|
||||
步骤二:点击Configure后,在弹窗中设置编译"x64"架构:
|
||||
|
||||

|
||||
|
||||
初始化完成后,显示如下:
|
||||
|
||||

|
||||
|
||||
步骤三:由于FastDeploy目前只支持Release版本,因此,先将"CMAKE_CONFIGURATION_TYPES"修改成"Release"
|
||||
|
||||

|
||||
|
||||
接下来,用户可根据自己实际的开发需求开启对应的编译选项,并生成sln解决方案。以下,针对编译CPU和GPU版本SDK各举一个例子。
|
||||
|
||||
### 编译CPU版本 C++ SDK设置
|
||||
|
||||
<div id="CMakeGuiAndVS2019CPU"></div>
|
||||
|
||||
步骤一:勾选CPU版本对应的编译选项。注意CPU版本,请`不要`勾选WITH_GPU和ENABLE_TRT_BACKEND
|
||||
|
||||

|
||||
|
||||
这个示例中,我们开启ORT、Paddle、OpenVINO等推理后端,并且选择了需要编译TEXT和VISION的API
|
||||
|
||||
|
||||
步骤二:自定义设置SDK安装路径,修改CMAKE_INSTALL_PREFIX
|
||||
|
||||

|
||||
|
||||
由于默认的安装路径是C盘,我们可以修改CMAKE_INSTALL_PREFIX来指定自己的安装路径,这里我们将安装路径修改到`build\fastdeploy-win-x64-0.2.1`目录下。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### 编译GPU版本 C++ SDK设置
|
||||
<div id="CMakeGuiAndVS2019GPU"></div>
|
||||
|
||||
步骤一:勾选GPU版本对应的编译选项。注意GPU版本,请`需要`勾选WITH_GPU
|
||||
|
||||

|
||||
|
||||
这个示例中,我们开启ORT、Paddle、OpenVINO和TRT等推理后端,并且选择了需要编译TEXT和VISION的API。并且,由于开启了GPU和TensorRT,此时需要额外指定CUDA_DIRECTORY和TRT_DIRECTORY,在GUI界面中找到这两个变量,点击右侧的选项框,分别选择您安装CUDA的路径和TensorRT的路径
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
步骤二:自定义设置SDK安装路径,修改CMAKE_INSTALL_PREFIX
|
||||
|
||||

|
||||
|
||||
|
||||
由于默认的安装路径是C盘,我们可以修改CMAKE_INSTALL_PREFIX来指定自己的安装路径,这里我们将安装路径修改到`build\fastdeploy-win-x64-gpu-0.2.1`目录下。
|
||||
|
||||
|
||||
### 使用Visual Studio 2019 IDE进行编译
|
||||
|
||||
<div id="CMakeGuiAndVS2019Build"></div>
|
||||
|
||||
步骤一:点击"Generate",生成sln解决方案,并用Visual Studio 2019打开
|
||||
|
||||

|
||||
|
||||
这个过程默认会从下载一些编译需要的资源,cmake的dev警告可以不用管。生成完成之后可以看到以下界面:
|
||||
|
||||
CPU版本SDK:
|
||||
|
||||

|
||||
|
||||
GPU版本SDK:
|
||||
|
||||

|
||||
|
||||
|
||||
左侧界面,可以看到所有编译需要的include路径和lib路径已经被设置好了,用户可以考虑把这些路径记录下来方便后续的开发。右侧界面,可以看到已经生成fastdeploy.sln解决方案文件。接下来,我们使用Visual Studio 2019打开这个解决方案文件(理论上VS2022也可以编译,但目前建议使用VS2019)。
|
||||
|
||||

|
||||
|
||||
|
||||
步骤二:在Visual Studio 2019点击"ALL BUILD"->右键点击"生成"开始编译
|
||||
|
||||

|
||||
|
||||
CPU版本SDK编译成功!
|
||||
|
||||

|
||||
|
||||
GPU版本SDK编译成功!
|
||||
|
||||

|
||||
|
||||
|
||||
步骤三:编译完成后,在Visual Studio 2019点击"INSTALL"->右键点击"生成"将编译好的SDK安装到先前指定的目录
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
SDK成功安装到指定目录!
|
||||
|
||||
### 编译所有examples(可选)
|
||||
可以在CMake GUI中勾选BUILD_EXAMPLES选项,连带编译所有的examples,编译完成后所有example的可执行文件保存在build/bin/Release目录下
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 4. 特别提示
|
||||
|
||||
如果是用户自行编译SDK,理论上支持Windows 10/11,VS 2019/2022,CUDA 11.x 以及 TensorRT 8.x等配置,但建议使用我们推荐的默认配置,即:Windows 10, VS 2019, CUDA 11.2 和 TensorRT 8.4.x版本。另外,如果编译过程中遇到中文字符的编码问题(如UIE example必须传入中文字符进行预测),可以参考Visual Studio的官方文档,设置源字符集为`/utf-8`解决:
|
||||
- [/utf-8(将源字符集和执行字符集设置为 UTF-8)](https://learn.microsoft.com/zh-cn/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-170)
|
||||
|
||||
## 5. Windows下FastDeploy C++ SDK使用方式
|
||||
|
||||
<div id="Usage"></div>
|
||||
|
||||
Windows下FastDeploy C++ SDK使用方式,请参考文档:
|
||||
- [how_to_use_sdk_on_windows.md](./how_to_use_sdk_on_windows.md)
|
||||
|
@@ -1,13 +1,31 @@
|
||||
# 在 Windows 使用 FastDeploy C++ SDK
|
||||
|
||||
在 Windows 下使用 FastDeploy C++ SDK 与在 Linux 下使用稍有不同。以下以 PPYOLOE 为例进行演示在CPU/GPU,以及GPU上通过TensorRT加速部署的示例。
|
||||
|
||||
在部署前,需确认以下两个步骤
|
||||
|
||||
在 Windows 下使用 FastDeploy C++ SDK 与在 Linux 下使用稍有不同。以下以 PPYOLOE 为例进行演示在CPU/GPU,以及GPU上通过TensorRT加速部署的示例。在部署前,需确认以下两个步骤:
|
||||
- 1. 软硬件环境满足要求,参考[FastDeploy环境要求](../environment.md)
|
||||
- 2. 根据开发环境,下载预编译部署库和samples代码,参考[FastDeploy预编译库](../quick_start)
|
||||
|
||||
## 环境依赖
|
||||
## 目录
|
||||
- [环境依赖](#Environment)
|
||||
- [下载 FastDeploy Windows 10 C++ SDK](#Download)
|
||||
- [Windows下多种方式使用 C++ SDK 的方式](#CommandLine)
|
||||
- [方式一:命令行方式使用 C++ SDK](#CommandLine)
|
||||
- [步骤一:在 Windows 命令行终端 上编译 example](#CommandLine)
|
||||
- [步骤二:运行可执行文件获得推理结果](#CommandLine)
|
||||
- [方式二:Visual Studio 2019 IDE 方式使用 C++ SDK](#VisualStudio2019)
|
||||
- [步骤一:Visual Studio 2019 创建CMake工程项目](#VisualStudio20191)
|
||||
- [步骤二:在CMakeLists中配置 FastDeploy C++ SDK](#VisualStudio20192)
|
||||
- [步骤三:生成工程缓存并修改CMakeSetting.json配置](#VisualStudio20193)
|
||||
- [步骤四:生成可执行文件,运行获取结果](#VisualStudio20194)
|
||||
- [方式三:CLion IDE 方式使用 C++ SDK](#CLion)
|
||||
- [方式四:Visual Studio Code IDE 方式使用 C++ SDK](#VisualStudioCode)
|
||||
- [多种方法配置exe运行时所需的依赖库](#CommandLineDeps1)
|
||||
- [方式一:修改CMakeLists.txt,一行命令配置(推荐)](#CommandLineDeps1)
|
||||
- [方式二:命令行设置环境变量](#CommandLineDeps2)
|
||||
- [方法三:手动拷贝依赖库到exe的目录下](#CommandLineDeps3)
|
||||
|
||||
|
||||
## 1. 环境依赖
|
||||
<div id="Environment"></div>
|
||||
|
||||
- cmake >= 3.12
|
||||
- Visual Studio 16 2019
|
||||
@@ -15,19 +33,24 @@
|
||||
- cudnn >= 8.0 (当WITH_GPU=ON)
|
||||
- TensorRT >= 8.4 (当ENABLE_TRT_BACKEND=ON)
|
||||
|
||||
## 下载 FastDeploy Windows 10 C++ SDK
|
||||
## 2. 下载 FastDeploy Windows 10 C++ SDK
|
||||
<div id="Download"></div>
|
||||
|
||||
可以从以下链接下载编译好的 FastDeploy Windows 10 C++ SDK,SDK中包含了examples代码。
|
||||
```text
|
||||
https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-win-x64-gpu-0.2.1.zip
|
||||
```
|
||||
## 准备模型文件和测试图片
|
||||
## 3. 准备模型文件和测试图片
|
||||
可以从以下链接下载模型文件和测试图片,并解压缩
|
||||
```text
|
||||
https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz # (下载后解压缩)
|
||||
https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
|
||||
```
|
||||
|
||||
## 在 Windows 上编译 PPYOLOE
|
||||
## 4. SDK使用方式一:命令行方式使用 C++ SDK
|
||||
<div id="CommandLine"></div>
|
||||
|
||||
### 4.1 在 Windows 上编译 PPYOLOE
|
||||
Windows菜单打开`x64 Native Tools Command Prompt for VS 2019`命令工具,cd到ppyoloe的demo路径
|
||||
```bat
|
||||
cd fastdeploy-win-x64-gpu-0.2.0\examples\vision\detection\paddledetection\cpp
|
||||
@@ -40,8 +63,164 @@ cmake .. -G "Visual Studio 16 2019" -A x64 -DFASTDEPLOY_INSTALL_DIR=%cd%\..\..\.
|
||||
```bat
|
||||
msbuild infer_demo.sln /m:4 /p:Configuration=Release /p:Platform=x64
|
||||
```
|
||||
## 配置依赖库路径
|
||||
#### 方式一:命令行设置环境变量
|
||||
|
||||
### 4.2 运行 demo
|
||||
```bat
|
||||
cd Release
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0 # CPU
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 1 # GPU
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 2 # GPU + TensorRT
|
||||
```
|
||||
|
||||
特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
|
||||
|
||||
|
||||
## 5. SDK使用方式二:Visual Studio 2019 IDE 方式使用 C++ SDK
|
||||
<div id="VisualStudio2019"></div>
|
||||
|
||||
### 5.1 步骤一:Visual Studio 2019 创建“CMake”工程项目
|
||||
|
||||
<div id="VisualStudio20191"></div>
|
||||
|
||||
(1)打开Visual Studio 2019,点击"创建新项目"->点击"CMake",从而创建CMake工程项目。以PPYOLOE为例,来说明如何在Visual Studio 2019 IDE中使用FastDeploy C++ SDK.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
(2)打开工程发现,Visual Stuio 2019已经为我们生成了一些基本的文件,其中包括CMakeLists.txt。infer_ppyoloe.h头文件这里实际上用不到,我们可以直接删除。
|
||||
|
||||

|
||||
|
||||
### 5.2 步骤二:在CMakeLists中配置 FastDeploy C++ SDK
|
||||
|
||||
<div id="VisualStudio20192"></div>
|
||||
|
||||
(1)在工程创建完成后,我们需要添加infer_ppyoloe推理源码,并修改CMakeLists.txt,修改如下:
|
||||
|
||||

|
||||
|
||||
(2)其中infer_ppyoloe.cpp的代码可以直接从examples中的代码拷贝过来:
|
||||
- [examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc](../../examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc)
|
||||
|
||||
(3)CMakeLists.txt主要包括配置FastDeploy C++ SDK的路径,如果是GPU版本的SDK,还需要配置CUDA_DIRECTORY为CUDA的安装路径,CMakeLists.txt的配置如下:
|
||||
|
||||
```cmake
|
||||
project(infer_ppyoloe_demo C CXX)
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
# Only support "Release" mode now
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
|
||||
# Set FastDeploy install dir
|
||||
set(FASTDEPLOY_INSTALL_DIR "D:/qiuyanjun/fastdeploy-win-x64-gpu-0.2.1"
|
||||
CACHE PATH "Path to downloaded or built fastdeploy sdk.")
|
||||
|
||||
# Set CUDA_DIRECTORY (CUDA 11.x) for GPU SDK
|
||||
set(CUDA_DIRECTORY "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7"
|
||||
CACHE PATH "Path to installed CUDA Toolkit.")
|
||||
|
||||
include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)
|
||||
|
||||
include_directories(${FASTDEPLOY_INCS})
|
||||
|
||||
add_executable(infer_ppyoloe_demo ${PROJECT_SOURCE_DIR}/infer_ppyoloe.cpp)
|
||||
target_link_libraries(infer_ppyoloe_demo ${FASTDEPLOY_LIBS})
|
||||
|
||||
# Optional: install all DLLs to binary dir.
|
||||
install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
|
||||
```
|
||||
|
||||
### 5.3 步骤三:生成工程缓存并修改CMakeSetting.json配置
|
||||
|
||||
<div id="VisualStudio20193"></div>
|
||||
|
||||
(1)点击"CMakeLists.txt"->右键点击"生成缓存":
|
||||
|
||||

|
||||
|
||||
发现已经成功生成缓存了,但是由于打开工程时,默认是Debug模式,我们发现exe和缓存保存路径还是Debug模式下的。 我们可以先修改CMake的设置为Release.
|
||||
|
||||
(2)点击"CMakeLists.txt"->右键点击"infer_ppyoloe_demo的cmake设置",进入CMakeSettings.json的设置面板,把其中的Debug设置修改为Release.
|
||||
|
||||

|
||||
|
||||
同时设置CMake生成器为 "Visual Studio 16 2019 Win64"
|
||||
|
||||

|
||||
|
||||
(3)点击保存CMake缓存以切换为Release配置:
|
||||
|
||||

|
||||
|
||||
(4):(4.1)点击"CMakeLists.txt"->右键"CMake缓存仅限x64-Release"->"点击删除缓存";(4.2)点击"CMakeLists.txt"->"生成缓存";(4.3)如果在步骤一发现删除缓存的选项是灰色的可以直接点击"CMakeLists.txt"->"生成",若生成失败则可以重复尝试(4.1)和(4。2)
|
||||
|
||||

|
||||
|
||||
最终可以看到,配置已经成功生成Relase模式下的CMake缓存了。
|
||||
|
||||

|
||||
|
||||
|
||||
### 5.4 步骤四:生成可执行文件,运行获取结果。
|
||||
|
||||
<div id="VisualStudio20194"></div>
|
||||
|
||||
(1)点击"CMakeLists.txt"->"生成"。可以发现已经成功生成了infer_ppyoloe_demo.exe,并保存在`out/build/x64-Release/Release`目录下。
|
||||
|
||||

|
||||
|
||||
(2)执行可执行文件,获得推理结果。 首先需要拷贝所有的dll到exe所在的目录下,这里我们可以在CMakeLists.txt添加一下命令,可将FastDeploy中所有的dll安装到指定的目录。
|
||||
|
||||
```cmake
|
||||
install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
|
||||
```
|
||||
(3)同时,也需要把ppyoloe的模型文件和测试图片下载解压缩后,拷贝到exe所在的目录。 准备完成后,目录结构如下:
|
||||
|
||||

|
||||
|
||||
(4)最后,执行以下命令获得推理结果:
|
||||
|
||||
```bat
|
||||
D:\xxxinfer_ppyoloe\out\build\x64-Release\Release>infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0
|
||||
[INFO] fastdeploy/runtime.cc(304)::fastdeploy::Runtime::Init Runtime initialized with Backend::OPENVINO in Device::CPU.
|
||||
DetectionResult: [xmin, ymin, xmax, ymax, score, label_id]
|
||||
415.047180,89.311569, 506.009613, 283.863098, 0.950423, 0
|
||||
163.665710,81.914932, 198.585342, 166.760895, 0.896433, 0
|
||||
581.788635,113.027618, 612.623474, 198.521713, 0.842596, 0
|
||||
267.217224,89.777306, 298.796051, 169.361526, 0.837951, 0
|
||||
......
|
||||
153.301407,123.233757, 177.130539, 164.558350, 0.066697, 60
|
||||
505.887604,140.919601, 523.167236, 151.875336, 0.084912, 67
|
||||
|
||||
Visualized result saved in ./vis_result.jpg
|
||||
```
|
||||
|
||||
打开保存的图片查看可视化结果:
|
||||
|
||||
<div align="center">
|
||||
<img src="https://user-images.githubusercontent.com/19339784/184326520-7075e907-10ed-4fad-93f8-52d0e35d4964.jpg", width=480px, height=320px />
|
||||
</div>
|
||||
|
||||
特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
|
||||
|
||||
## 6. 多种方法配置exe运行时所需的依赖库
|
||||
<div id="CommandLineDeps"></div>
|
||||
|
||||
### 6.1 方式一:修改CMakeLists.txt,一行命令配置(推荐)
|
||||
<div id="CommandLineDeps1"></div>
|
||||
|
||||
考虑到Windows下C++开发的特殊性,如经常需要拷贝所有的lib或dll文件到某个指定的目录,FastDeploy提供了`install_fastdeploy_libraries`的cmake函数,方便用户快速配置所有的dll。修改ppyoloe的CMakeLists.txt,添加:
|
||||
```cmake
|
||||
install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
|
||||
```
|
||||
|
||||
### 6.2 方式二:命令行设置环境变量
|
||||
<div id="CommandLineDeps2"></div>
|
||||
|
||||
编译好的exe保存在Release目录下,在运行demo前,需要将模型和测试图片拷贝至该目录。另外,需要在终端指定DLL的搜索路径。请在build目录下执行以下命令。
|
||||
```bat
|
||||
set FASTDEPLOY_HOME=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1
|
||||
@@ -58,17 +237,25 @@ set PATH=%FASTDEPLOY_HOME%\third_libs\install\faster_tokenizer\third_party\lib;%
|
||||
set PATH=%FASTDEPLOY_HOME%\third_libs\install\yaml-cpp\lib;%PATH%
|
||||
set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\bin;%PATH%
|
||||
set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\3rdparty\tbb\bin;%PATH%
|
||||
```
|
||||
```
|
||||
注意,需要拷贝onnxruntime.dll到exe所在的目录。
|
||||
```bat
|
||||
copy /Y %FASTDEPLOY_PATH%\third_libs\install\onnxruntime\lib\onnxruntime* Release\
|
||||
```
|
||||
copy /Y %FASTDEPLOY_HOME%\third_libs\install\onnxruntime\lib\onnxruntime* Release\
|
||||
```
|
||||
由于较新的Windows在System32系统目录下自带了onnxruntime.dll,因此就算设置了PATH,系统依然会出现onnxruntime的加载冲突。因此需要先拷贝demo用到的onnxruntime.dll到exe所在的目录。如下
|
||||
```bat
|
||||
where onnxruntime.dll
|
||||
C:\Windows\System32\onnxruntime.dll # windows自带的onnxruntime.dll
|
||||
```
|
||||
可以把上述命令拷贝并保存到build目录下的某个bat脚本文件中(包含copy onnxruntime),如`setup_fastdeploy_dll.bat`,方便多次使用。
|
||||
```bat
|
||||
setup_fastdeploy_dll.bat
|
||||
```
|
||||
#### 方式二:拷贝依赖库到exe的目录下
|
||||
|
||||
### 6.3 方式三:手动拷贝依赖库到exe的目录下
|
||||
|
||||
<div id="CommandLineDeps3"></div>
|
||||
|
||||
手动拷贝,或者在build目录下执行以下命令:
|
||||
```bat
|
||||
set FASTDEPLOY_HOME=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1
|
||||
@@ -87,11 +274,21 @@ copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\bin\*.dll Release\
|
||||
copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\bin\*.xml Release\
|
||||
copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\3rdparty\tbb\bin\*.dll Release\
|
||||
```
|
||||
|
||||
## 运行 demo
|
||||
可以把上述命令拷贝并保存到build目录下的某个bat脚本文件中,如`copy_fastdeploy_dll.bat`,方便多次使用。
|
||||
```bat
|
||||
cd Release
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0 # CPU
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 1 # GPU
|
||||
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 2 # GPU + TensorRT
|
||||
copy_fastdeploy_dll.bat
|
||||
```
|
||||
特别说明:上述的set和copy命令对应的依赖库路径,需要用户根据自己使用SDK中的依赖库进行适当地修改。比如,若是CPU版本的SDK,则不需要TensorRT相关的设置。
|
||||
|
||||
|
||||
|
||||
## 7. CLion 2022 IDE 方式使用 C++ SDK
|
||||
<div id="CLion"></div>
|
||||
|
||||
- TODO
|
||||
|
||||
|
||||
## 8. Visual Studio Code IDE 方式使用 C++ SDK
|
||||
<div id="VisualStudioCode"></div>
|
||||
|
||||
- TODO
|
||||
|
Reference in New Issue
Block a user