Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSeg
提交
0f365acc
P
PaddleSeg
项目概览
PaddlePaddle
/
PaddleSeg
通知
285
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
53
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleSeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
53
Issue
53
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0f365acc
编写于
12月 16, 2019
作者:
S
sjtubinlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix C++ inference docs
上级
bf72574f
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
29 addition
and
26 deletion
+29
-26
deploy/cpp/CMakeLists.txt
deploy/cpp/CMakeLists.txt
+1
-1
deploy/cpp/README.md
deploy/cpp/README.md
+6
-4
deploy/cpp/docs/linux_build.md
deploy/cpp/docs/linux_build.md
+7
-7
deploy/cpp/docs/vis.md
deploy/cpp/docs/vis.md
+1
-1
deploy/cpp/docs/windows_vs2015_build.md
deploy/cpp/docs/windows_vs2015_build.md
+8
-8
deploy/cpp/docs/windows_vs2019_build.md
deploy/cpp/docs/windows_vs2019_build.md
+6
-5
未找到文件。
deploy/cpp/CMakeLists.txt
浏览文件 @
0f365acc
...
@@ -142,7 +142,7 @@ if(WITH_MKL)
...
@@ -142,7 +142,7 @@ if(WITH_MKL)
if
(
WIN32
)
if
(
WIN32
)
set
(
MKLDNN_LIB
${
MKLDNN_PATH
}
/lib/mkldnn.lib
)
set
(
MKLDNN_LIB
${
MKLDNN_PATH
}
/lib/mkldnn.lib
)
else
()
else
()
set
(
MKLDNN_LIB
${
MKLDNN_PATH
}
/lib/libmkldnn.so.
1
)
set
(
MKLDNN_LIB
${
MKLDNN_PATH
}
/lib/libmkldnn.so.
0
)
endif
()
endif
()
endif
()
endif
()
else
()
else
()
...
...
deploy/cpp/README.md
浏览文件 @
0f365acc
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
## 2.主要目录和文件
## 2.主要目录和文件
```
```
inference
cpp
├── demo.cpp # 演示加载模型、读入数据、完成预测任务C++代码
├── demo.cpp # 演示加载模型、读入数据、完成预测任务C++代码
|
|
├── conf
├── conf
...
@@ -90,6 +90,8 @@ deeplabv3p_xception65_humanseg
...
@@ -90,6 +90,8 @@ deeplabv3p_xception65_humanseg
DEPLOY
:
DEPLOY
:
# 是否使用GPU预测
# 是否使用GPU预测
USE_GPU
:
1
USE_GPU
:
1
# 是否是PaddleSeg 0.3.0新版本模型
USE_PR
:
1
# 模型和参数文件所在目录路径
# 模型和参数文件所在目录路径
MODEL_PATH
:
"
/root/projects/models/deeplabv3p_xception65_humanseg"
MODEL_PATH
:
"
/root/projects/models/deeplabv3p_xception65_humanseg"
# 模型文件名
# 模型文件名
...
@@ -125,11 +127,11 @@ DEPLOY:
...
@@ -125,11 +127,11 @@ DEPLOY:
`Linux`
系统中执行以下命令:
`Linux`
系统中执行以下命令:
```
shell
```
shell
./demo
--conf
=
/root/projects/PaddleSeg/
inference/conf/humanseg.yaml
--input_dir
=
/root/projects/PaddleSeg/inference
/images/humanseg/
./demo
--conf
=
/root/projects/PaddleSeg/
deploy/cpp/conf/humanseg.yaml
--input_dir
=
/root/projects/PaddleSeg/deploy/cpp
/images/humanseg/
```
```
`Windows`
中执行以下命令:
`Windows`
中执行以下命令:
```
shell
```
shell
D:
\p
rojects
\P
addleSeg
\
i
nference
\b
uild
\R
elease>demo.exe
--conf
=
D:
\\
projects
\\
PaddleSeg
\\
inference
\\
conf
\\
humanseg.yaml
--input_dir
=
D:
\\
projects
\\
PaddleSeg
\\
inference
\\
images
\h
umanseg
\\
D:
\p
rojects
\P
addleSeg
\
d
eploy
\c
pp
\b
uild
\R
elease>demo.exe
--conf
=
D:
\\
projects
\\
PaddleSeg
\\
deploy
\\
cpp
\\
conf
\\
humanseg.yaml
--input_dir
=
D:
\\
projects
\\
PaddleSeg
\\
deploy
\\
cpp
\\
images
\h
umanseg
\\
```
```
...
@@ -141,7 +143,7 @@ D:\projects\PaddleSeg\inference\build\Release>demo.exe --conf=D:\\projects\\Padd
...
@@ -141,7 +143,7 @@ D:\projects\PaddleSeg\inference\build\Release>demo.exe --conf=D:\\projects\\Padd
| input_dir | 需要预测的图片目录 |
| input_dir | 需要预测的图片目录 |
配置文件说明请参考上一步,样例程序会扫描input_dir目录下的所有以
**jpg或jpeg**
为后缀的图片,并生成对应的预测结果(若input_dir目录下没有以
**jpg或jpeg**
为后缀的图片,程序会报错)。图像分割会对
`demo.jpg`
的每个像素进行分类,其预测的结果保存在
`demo_jpg
.png`
中。分割预测结果的图不能直接看到效果,必须经过可视化处理。对于二分类的图像分割模型,样例程序自动将预测结果转换成可视化结果,保存在
`demo_jpg_scoremap.png`
中, 原始尺寸的预测结果在
`demo_jpg_recover.png`
中,如下图。对于
**多分类**
的图像分割模型
,请参考
[
可视化脚本使用方法
](
./docs/vis.md
)
。
配置文件说明请参考上一步,样例程序会扫描input_dir目录下的所有以
**jpg或jpeg**
为后缀的图片,并生成对应的预测结果(若input_dir目录下没有以
**jpg或jpeg**
为后缀的图片,程序会报错)。图像分割会对
`demo.jpg`
的每个像素进行分类,其预测的结果保存在
`demo_jpg
_mask.png`
中。分割预测结果的图不能直接看到效果,必须经过可视化处理。对于二分类的图像分割模型。如果需要对预测结果进行
**可视化**
,请参考
[
可视化脚本使用方法
](
./docs/vis.md
)
。
输入原图
输入原图
![
avatar
](
images/humanseg/demo2.jpeg
)
![
avatar
](
images/humanseg/demo2.jpeg
)
...
...
deploy/cpp/docs/linux_build.md
浏览文件 @
0f365acc
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
1.
`mkdir -p /root/projects/ && cd /root/projects`
1.
`mkdir -p /root/projects/ && cd /root/projects`
2.
`git clone https://github.com/PaddlePaddle/PaddleSeg.git`
2.
`git clone https://github.com/PaddlePaddle/PaddleSeg.git`
`C++`
预测代码在
`/root/projects/PaddleSeg/
inference
`
目录,该目录不依赖任何
`PaddleSeg`
下其他目录。
`C++`
预测代码在
`/root/projects/PaddleSeg/
deploy/cpp
`
目录,该目录不依赖任何
`PaddleSeg`
下其他目录。
### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference
### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference
...
@@ -25,9 +25,9 @@ PaddlePaddle C++ 预测库主要分为CPU版本和GPU版本。其中,针对不
...
@@ -25,9 +25,9 @@ PaddlePaddle C++ 预测库主要分为CPU版本和GPU版本。其中,针对不
| 版本 | 链接 |
| 版本 | 链接 |
| ---- | ---- |
| ---- | ---- |
| CPU版本 |
[
fluid_inference.tgz
](
https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_linux_cpu_1.6.1
.tgz
)
|
| CPU版本 |
[
fluid_inference.tgz
](
https://
paddle-inference-lib.bj.bcebos.com/1.6.1-cpu-avx-mkl/fluid_inference
.tgz
)
|
| CUDA 9.0版本 |
[
fluid_inference.tgz
](
https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_linux_cuda97_1.6.1
.tgz
)
|
| CUDA 9.0版本 |
[
fluid_inference.tgz
](
https://
paddle-inference-lib.bj.bcebos.com/1.6.1-gpu-cuda9-cudnn7-avx-mkl/fluid_inference
.tgz
)
|
| CUDA 10.0版本 |
[
fluid_inference.tgz
](
https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_linux_cuda10_1.6.1
.tgz
)
|
| CUDA 10.0版本 |
[
fluid_inference.tgz
](
https://
paddle-inference-lib.bj.bcebos.com/1.6.1-gpu-cuda10-cudnn7-avx-mkl/fluid_inference
.tgz
)
|
针对不同的CPU类型、不同的指令集,官方提供更多可用的预测库版本,目前已经推出1.6版本的预测库。其余版本具体请参考以下链接:
[
C++预测库下载列表
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_usage/deploy/inference/build_and_install_lib_cn.html
)
针对不同的CPU类型、不同的指令集,官方提供更多可用的预测库版本,目前已经推出1.6版本的预测库。其余版本具体请参考以下链接:
[
C++预测库下载列表
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_usage/deploy/inference/build_and_install_lib_cn.html
)
...
@@ -75,7 +75,7 @@ make install
...
@@ -75,7 +75,7 @@ make install
在使用
**GPU版本**
预测库进行编译时,可执行下列操作。
**注意**
把对应的参数改为你的上述依赖库实际路径:
在使用
**GPU版本**
预测库进行编译时,可执行下列操作。
**注意**
把对应的参数改为你的上述依赖库实际路径:
```
shell
```
shell
cd
/root/projects/PaddleSeg/
inference
cd
/root/projects/PaddleSeg/
deploy/cpp
mkdir
build
&&
cd
build
mkdir
build
&&
cd
build
cmake ..
-DWITH_GPU
=
ON
-DPADDLE_DIR
=
/root/projects/fluid_inference
-DCUDA_LIB
=
/usr/local/cuda/lib64/
-DOPENCV_DIR
=
/root/projects/opencv3/
-DCUDNN_LIB
=
/usr/local/cuda/lib64/
-DWITH_STATIC_LIB
=
OFF
cmake ..
-DWITH_GPU
=
ON
-DPADDLE_DIR
=
/root/projects/fluid_inference
-DCUDA_LIB
=
/usr/local/cuda/lib64/
-DOPENCV_DIR
=
/root/projects/opencv3/
-DCUDNN_LIB
=
/usr/local/cuda/lib64/
-DWITH_STATIC_LIB
=
OFF
make
make
...
@@ -83,7 +83,7 @@ make
...
@@ -83,7 +83,7 @@ make
在使用
**CPU版本**
预测库进行编译时,可执行下列操作。
在使用
**CPU版本**
预测库进行编译时,可执行下列操作。
```
shell
```
shell
cd
/root/projects/PaddleSeg/
inference
cd
/root/projects/PaddleSeg/
cpp
mkdir
build
&&
cd
build
mkdir
build
&&
cd
build
cmake ..
-DWITH_GPU
=
OFF
-DPADDLE_DIR
=
/root/projects/fluid_inference
-DOPENCV_DIR
=
/root/projects/opencv3/
-DWITH_STATIC_LIB
=
OFF
cmake ..
-DWITH_GPU
=
OFF
-DPADDLE_DIR
=
/root/projects/fluid_inference
-DOPENCV_DIR
=
/root/projects/opencv3/
-DWITH_STATIC_LIB
=
OFF
...
@@ -98,4 +98,4 @@ make
...
@@ -98,4 +98,4 @@ make
./demo --conf=/path/to/your/conf --input_dir=/path/to/your/input/data/directory
./demo --conf=/path/to/your/conf --input_dir=/path/to/your/input/data/directory
```
```
更详细说明请参考README文档:
[
预测和可视化部分
](
../README.md
)
更详细说明请参考README文档:
[
预测和可视化部分
](
../README.md
)
\ No newline at end of file
deploy/cpp/docs/vis.md
浏览文件 @
0f365acc
...
@@ -12,7 +12,7 @@ cd inference/tools/
...
@@ -12,7 +12,7 @@ cd inference/tools/
# 拷贝保存分割预测结果的图片到本目录
# 拷贝保存分割预测结果的图片到本目录
cp
XXX/demo_jpg.png
.
cp
XXX/demo_jpg.png
.
# 运行可视化脚本
# 运行可视化脚本
python visualize.py demo.jpg demo_jpg.png vis_result.png
python visualize.py demo.jpg demo_jpg
_mask
.png vis_result.png
```
```
以下为上述运行可视化脚本例子中每个参数的含义,请根据测试机器中图片的
**实际路径**
修改对应参数。
以下为上述运行可视化脚本例子中每个参数的含义,请根据测试机器中图片的
**实际路径**
修改对应参数。
...
...
deploy/cpp/docs/windows_vs2015_build.md
浏览文件 @
0f365acc
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
1.
打开
`cmd`
, 执行
`cd /d D:\projects`
1.
打开
`cmd`
, 执行
`cd /d D:\projects`
2.
`git clone http://gitlab.baidu.com/Paddle/PaddleSeg.git`
2.
`git clone http://gitlab.baidu.com/Paddle/PaddleSeg.git`
`C++`
预测库代码在
`D:\projects\PaddleSeg\
inference
`
目录,该目录不依赖任何
`PaddleSeg`
下其他目录。
`C++`
预测库代码在
`D:\projects\PaddleSeg\
deploy\cpp
`
目录,该目录不依赖任何
`PaddleSeg`
下其他目录。
### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference
### Step2: 下载PaddlePaddle C++ 预测库 fluid_inference
...
@@ -24,9 +24,9 @@ PaddlePaddle C++ 预测库主要分为两大版本:CPU版本和GPU版本。其
...
@@ -24,9 +24,9 @@ PaddlePaddle C++ 预测库主要分为两大版本:CPU版本和GPU版本。其
| 版本 | 链接 |
| 版本 | 链接 |
| ---- | ---- |
| ---- | ---- |
| CPU版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_install_dir_win_cpu_1.6
.zip) |
| CPU版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.2/win-infer/mkl/cpu/fluid_inference_install_dir
.zip) |
| CUDA 9.0版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_install_dir_win_cuda9_1.6.1
.zip) |
| CUDA 9.0版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.2/win-infer/mkl/post97/fluid_inference_install_dir
.zip) |
| CUDA 10.0版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_install_dir_win_cuda10_1.6.1
.zip) |
| CUDA 10.0版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.2/win-infer/mkl/post107/fluid_inference_install_dir
.zip) |
解压后`
D:
\p
rojects
\f
luid_inference
`目录包含内容为:
解压后`
D:
\p
rojects
\f
luid_inference
`目录包含内容为:
```
```
...
@@ -70,19 +70,19 @@ call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd6
...
@@ -70,19 +70,19 @@ call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd6
```bash
```bash
# 切换到预测库所在目录
# 切换到预测库所在目录
cd /d D:\projects\PaddleSeg\
inference
\
cd /d D:\projects\PaddleSeg\
deply\cpp
\
# 创建构建目录, 重新构建只需要删除该目录即可
# 创建构建目录, 重新构建只需要删除该目录即可
mkdir build
mkdir build
cd build
cd build
# cmake构建VS项目
# cmake构建VS项目
D:\projects\PaddleSeg\
inference
\build> cmake .. -G "Visual Studio 14 2015 Win64" -DWITH_GPU=ON -DPADDLE_DIR=D:\projects\fluid_inference -DCUDA_LIB=D:\projects\cudalib\v9.0\lib\x64 -DOPENCV_DIR=D:\projects\opencv -T host=x64
D:\projects\PaddleSeg\
deploy\cpp
\build> cmake .. -G "Visual Studio 14 2015 Win64" -DWITH_GPU=ON -DPADDLE_DIR=D:\projects\fluid_inference -DCUDA_LIB=D:\projects\cudalib\v9.0\lib\x64 -DOPENCV_DIR=D:\projects\opencv -T host=x64
```
```
在使用**CPU版本**预测库进行编译时,可执行下列操作。
在使用**CPU版本**预测库进行编译时,可执行下列操作。
```bash
```bash
# 切换到预测库所在目录
# 切换到预测库所在目录
cd /d D:\projects\PaddleSeg\
inference
\
cd /d D:\projects\PaddleSeg\
deploy\cpp
\
# 创建构建目录, 重新构建只需要删除该目录即可
# 创建构建目录, 重新构建只需要删除该目录即可
mkdir build
mkdir build
cd build
cd build
...
@@ -102,7 +102,7 @@ D:\projects\PaddleSeg\inference\build> msbuild /m /p:Configuration=Release cpp_i
...
@@ -102,7 +102,7 @@ D:\projects\PaddleSeg\inference\build> msbuild /m /p:Configuration=Release cpp_i
上述`
Visual Studio 2015
`编译产出的可执行文件在`
build
\r
elease
`目录下,切换到该目录:
上述`
Visual Studio 2015
`编译产出的可执行文件在`
build
\r
elease
`目录下,切换到该目录:
```
```
cd /d D:\projects\PaddleSeg\
inference
\build\release
cd /d D:\projects\PaddleSeg\
deploy\cpp
\build\release
```
```
之后执行命令:
之后执行命令:
...
...
deploy/cpp/docs/windows_vs2019_build.md
浏览文件 @
0f365acc
...
@@ -15,7 +15,7 @@ Windows 平台下,我们使用`Visual Studio 2015` 和 `Visual Studio 2019 Com
...
@@ -15,7 +15,7 @@ Windows 平台下,我们使用`Visual Studio 2015` 和 `Visual Studio 2019 Com
### Step1: 下载代码
### Step1: 下载代码
1.
点击下载源代码:
[
下载地址
](
https://github.com/PaddlePaddle/PaddleSeg/archive/release/v0.
2
.0.zip
)
1.
点击下载源代码:
[
下载地址
](
https://github.com/PaddlePaddle/PaddleSeg/archive/release/v0.
3
.0.zip
)
2.
解压,解压后目录重命名为
`PaddleSeg`
2.
解压,解压后目录重命名为
`PaddleSeg`
以下代码目录路径为
`D:\projects\PaddleSeg`
为例。
以下代码目录路径为
`D:\projects\PaddleSeg`
为例。
...
@@ -27,9 +27,9 @@ PaddlePaddle C++ 预测库主要分为两大版本:CPU版本和GPU版本。其
...
@@ -27,9 +27,9 @@ PaddlePaddle C++ 预测库主要分为两大版本:CPU版本和GPU版本。其
| 版本 | 链接 |
| 版本 | 链接 |
| ---- | ---- |
| ---- | ---- |
| CPU版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_install_dir_win_cpu_1.6
.zip) |
| CPU版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.1/win-infer/mkl/cpu/fluid_inference_install_dir
.zip) |
| CUDA 9.0版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_install_dir_win_cuda9_1.6.1
.zip) |
| CUDA 9.0版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.1/win-infer/mkl/post97/fluid_inference_install_dir
.zip) |
| CUDA 10.0版本 | [fluid_inference_install_dir.zip](https://
bj.bcebos.com/paddlehub/paddle_inference_lib/fluid_inference_install_dir_win_cuda10_1.6.1
.zip) |
| CUDA 10.0版本 | [fluid_inference_install_dir.zip](https://
paddle-wheel.bj.bcebos.com/1.6.1/win-infer/mkl/post107/fluid_inference_install_dir
.zip) |
解压后`
D:
\p
rojects
\f
luid_inference
`目录包含内容为:
解压后`
D:
\p
rojects
\f
luid_inference
`目录包含内容为:
```
```
...
@@ -74,6 +74,7 @@ fluid_inference
...
@@ -74,6 +74,7 @@ fluid_inference
| *CUDA_LIB | CUDA的库路径 |
| *CUDA_LIB | CUDA的库路径 |
| OPENCV_DIR | OpenCV的安装路径 |
| OPENCV_DIR | OpenCV的安装路径 |
| PADDLE_DIR | Paddle预测库的路径 |
| PADDLE_DIR | Paddle预测库的路径 |
**注意**在使用CPU版本预测库时,需要把CUDA_LIB的勾去掉。
**注意**在使用CPU版本预测库时,需要把CUDA_LIB的勾去掉。
![step4](https://paddleseg.bj.bcebos.com/inference/vs2019_step5.png)
![step4](https://paddleseg.bj.bcebos.com/inference/vs2019_step5.png)
...
@@ -89,7 +90,7 @@ fluid_inference
...
@@ -89,7 +90,7 @@ fluid_inference
上述`
Visual Studio 2019
`编译产出的可执行文件在`
out
\b
uild
\x
64-Release
`目录下,打开`
cmd
`,并切换到该目录:
上述`
Visual Studio 2019
`编译产出的可执行文件在`
out
\b
uild
\x
64-Release
`目录下,打开`
cmd
`,并切换到该目录:
```
```
cd /d D:\projects\PaddleSeg\
inference
\out\build\x64-Release
cd /d D:\projects\PaddleSeg\
deploy\cpp
\out\build\x64-Release
```
```
之后执行命令:
之后执行命令:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录