|
|
@@ -12,9 +12,9 @@ Ubuntu 16.04/18.04
|
|
|
### Step1: 获取部署代码
|
|
|
```
|
|
|
git clone https://github.com/PaddlePaddle/PaddleX.git
|
|
|
-cd PaddleX/dygraph/deploy/cpp
|
|
|
+cd PaddleX/deploy/cpp
|
|
|
```
|
|
|
-**说明**:`C++`预测代码在`PaddleX/dygraph/deploy/cpp` 目录,该目录不依赖任何`PaddleX`下其他目录。所有的公共实现代码在`model_deploy`目录下,所有示例代码都在`demo`目录下。
|
|
|
+**说明**:`C++`预测代码在`PaddleX/deploy/cpp` 目录,该目录不依赖任何`PaddleX`下其他目录。所有的公共实现代码在`model_deploy`目录下,所有示例代码都在`demo`目录下。
|
|
|
|
|
|
### Step 2. 下载PaddlePaddle C++ 预测库
|
|
|
PaddlePaddle C++ 预测库针对是否使用GPU、是否支持TensorRT、以及不同的CUDA版本提供了已经编译好的预测库,目前PaddleX支持Paddle预测库2.0+,最新2.1版本下载链接如下所示:
|
|
|
@@ -28,7 +28,7 @@ PaddlePaddle C++ 预测库针对是否使用GPU、是否支持TensorRT、以及
|
|
|
|
|
|
请根据实际情况选择下载,如若以上版本不满足您的需求,请至[C++预测库下载列表](https://paddleinference.paddlepaddle.org.cn/v2.1/user_guides/download_lib.html)选择符合的版本。
|
|
|
|
|
|
-将预测库解压后,其所在目录(例如解压至`PaddleX/dygraph/deploy/cpp/paddle_inferenc/`)下主要包含的内容有:
|
|
|
+将预测库解压后,其所在目录(例如解压至`PaddleX/deploy/cpp/paddle_inferenc/`)下主要包含的内容有:
|
|
|
|
|
|
```
|
|
|
├── paddle/ # paddle核心库和头文件
|
|
|
@@ -39,7 +39,7 @@ PaddlePaddle C++ 预测库针对是否使用GPU、是否支持TensorRT、以及
|
|
|
```
|
|
|
|
|
|
### Step 3. 修改编译参数
|
|
|
-根据自己的系统环境,修改`PaddleX/dygraph/deploy/cpp/script/build.sh`脚本中的参数,主要修改的参数为以下几个
|
|
|
+根据自己的系统环境,修改`PaddleX/deploy/cpp/script/build.sh`脚本中的参数,主要修改的参数为以下几个
|
|
|
| 参数 | 说明 |
|
|
|
| :------------ | :----------------------------------------------------------------------------------- |
|
|
|
| WITH_GPU | ON或OFF,表示是否使用GPU,当下载的为CPU预测库时,设为OFF |
|
|
|
@@ -52,7 +52,7 @@ PaddlePaddle C++ 预测库针对是否使用GPU、是否支持TensorRT、以及
|
|
|
| OPENSSL_DIR | OPENSSL所在路径,解密所需。默认为`PaddleX/deploy/cpp/deps/penssl-1.1.0k`目录下 |
|
|
|
|
|
|
### Step 4. 编译
|
|
|
-修改完build.sh后执行编译, **[注意]**: 以下命令在`PaddleX/dygraph/deploy/cpp`目录下进行执行
|
|
|
+修改完build.sh后执行编译, **[注意]**: 以下命令在`PaddleX/deploy/cpp`目录下进行执行
|
|
|
|
|
|
```
|
|
|
sh script/build.sh
|
|
|
@@ -62,17 +62,17 @@ sh script/build.sh
|
|
|
> 编译过程,会调用script/bootstrap.sh联网下载opencv、openssl,以及yaml依赖包,如无法联网,用户按照下操作手动下载
|
|
|
>
|
|
|
> 1. 根据系统版本,点击右侧链接下载不同版本的opencv依赖 [Ubuntu 16.04](https://bj.bcebos.com/paddleseg/deploy/opencv3.4.6gcc4.8ffmpeg.tar.gz2)/[Ubuntu 18.04](https://bj.bcebos.com/paddlex/deploy/opencv3.4.6gcc4.8ffmpeg_ubuntu_18.04.tar.gz2)
|
|
|
-> 2. 解压下载的opencv依赖(解压后目录名为opencv3.4.6gcc4.8ffmpeg),创建目录`PaddleX/dygraph/deploy/cpp/deps`,将解压后的目录拷贝至该创建的目录下
|
|
|
+> 2. 解压下载的opencv依赖(解压后目录名为opencv3.4.6gcc4.8ffmpeg),创建目录`PaddleX/deploy/cpp/deps`,将解压后的目录拷贝至该创建的目录下
|
|
|
> 3. 点击[下载yaml依赖包](https://bj.bcebos.com/paddlex/deploy/deps/yaml-cpp.zip),无需解压
|
|
|
> 4. 修改`PaddleX/deploy/cpp/cmake/yaml.cmake`文件,将`URL https://bj.bcebos.com/paddlex/deploy/deps/yaml-cpp.zip`中网址替换为第3步中下载的路径,如改为`URL /Users/Download/yaml-cpp.zip`
|
|
|
-> 5. 如果**开启加密**,点击[下载openssl](https://bj.bcebos.com/paddlex/tools/openssl-1.1.0k.tar.gz),将解压后的目录拷贝至跟opencv同级目录,即`PaddleX/dygraph/deploy/cpp/deps`目录。
|
|
|
+> 5. 如果**开启加密**,点击[下载openssl](https://bj.bcebos.com/paddlex/tools/openssl-1.1.0k.tar.gz),将解压后的目录拷贝至跟opencv同级目录,即`PaddleX/deploy/cpp/deps`目录。
|
|
|
> 6. 重新执行`sh script/build.sh`即可编译
|
|
|
|
|
|
|
|
|
|
|
|
### Step 5. 编译结果
|
|
|
|
|
|
-编译后会在`PaddleX/dygraph/deploy/cpp/build/demo`目录下生成`model_infer`、`multi_gpu_model_infer`和`batch_infer`等几个可执行二进制文件示例,分别用于在单卡/多卡/多batch上加载模型进行预测,示例使用参考如下文档:
|
|
|
+编译后会在`PaddleX/deploy/cpp/build/demo`目录下生成`model_infer`、`multi_gpu_model_infer`和`batch_infer`等几个可执行二进制文件示例,分别用于在单卡/多卡/多batch上加载模型进行预测,示例使用参考如下文档:
|
|
|
|
|
|
- [单卡加载模型预测示例](../../demo/model_infer.md)
|
|
|
- [多卡加载模型预测示例](../../demo/multi_gpu_model_infer.md)
|