Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
553a46a6
P
PaddleX
项目概览
PaddlePaddle
/
PaddleX
通知
138
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
43
列表
看板
标记
里程碑
合并请求
5
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
43
Issue
43
列表
看板
标记
里程碑
合并请求
5
合并请求
5
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
553a46a6
编写于
8月 25, 2020
作者:
S
syyxsxx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix doc
上级
27b25183
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
46 addition
and
40 deletion
+46
-40
docs/deploy/openvino/export_openvino_model.md
docs/deploy/openvino/export_openvino_model.md
+4
-4
docs/deploy/openvino/introduction.md
docs/deploy/openvino/introduction.md
+4
-4
docs/deploy/openvino/linux.md
docs/deploy/openvino/linux.md
+19
-19
docs/deploy/openvino/windows.md
docs/deploy/openvino/windows.md
+6
-3
docs/deploy/raspberry/Raspberry.md
docs/deploy/raspberry/Raspberry.md
+8
-6
docs/deploy/raspberry/export_nb_model.md
docs/deploy/raspberry/export_nb_model.md
+3
-3
docs/deploy/raspberry/python.md
docs/deploy/raspberry/python.md
+2
-1
未找到文件。
docs/deploy/openvino/export_openvino_model.md
浏览文件 @
553a46a6
...
...
@@ -3,16 +3,16 @@
## 环境依赖
*
ONNX 1.5.0
*
ONNX 1.5.0
+
*
PaddleX 1.0+
*
OpenVINO 2020.4
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
latest/install.html
)
, OpenVINO安装请参考
[
OpenVINO
](
https://docs.openvinotoolkit.org/latest/index.html
)
,ONNX请安装1.5.0
版本否则会出现转模型错误。
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
develop/install.html
)
, OpenVINO安装请参考
[
OpenVINO
](
https://docs.openvinotoolkit.org/latest/index.html
)
,ONNX请安装1.5.0以上
版本否则会出现转模型错误。
请确保系统已经安装好上述基本软件,
**下面所有示例以工作目录 `/root/projects/`演示**
。
## 导出inference模型
paddle模型转openvino之前需要先把paddle模型导出为inference格式模型,导出的模型将包括__model__、__params__和model.yml三个文件名
。
导出命令如下
paddle模型转openvino之前需要先把paddle模型导出为inference格式模型,导出的模型将包括__model__、__params__和model.yml三个文件名
,
导出命令如下
```
paddlex --export_inference --model_dir=/path/to/paddle_model --save_dir=./inference_model --fixed_input_shape=[w,h]
```
...
...
@@ -30,7 +30,7 @@ python convertor.py --model_dir /path/to/inference_model --save_dir /path/to/ope
| 参数 | 说明 |
| ---- | ---- |
| --model_dir | Paddle模型路径,请确保__model__,
\_\_
params__model.yml在同一个目录|
| --save_dir |
openvino
模型保存路径 |
| --save_dir |
OpenVINO
模型保存路径 |
| --fixed_input_shape | 模型输入的[W,H] |
| --data type(option) | FP32、FP16,默认为FP32,VPU下的IR需要为FP16 |
...
...
docs/deploy/openvino/introduction.md
浏览文件 @
553a46a6
# OpenVINO部署简介
PaddleX支持将训练好的
paddle模型通过openvino
实现模型的预测加速,OpenVINO详细资料与安装流程请参考
[
OpenVINO
](
https://docs.openvinotoolkit.org/latest/index.html
)
PaddleX支持将训练好的
Paddle模型通过OpenVINO
实现模型的预测加速,OpenVINO详细资料与安装流程请参考
[
OpenVINO
](
https://docs.openvinotoolkit.org/latest/index.html
)
## 部署支持情况
下表提供了PaddleX在不同环境下对使用OpenVINO加速支持情况
下表提供了PaddleX在不同环境下对使用OpenVINO加速
的
支持情况
|硬件平台|Linux|Windows|Raspbian OS|c++|python |分类|检测|分割|
| ----| ---- | ---- | ----| ---- | ---- |---- | ---- |---- |
...
...
@@ -15,12 +15,12 @@ PaddleX支持将训练好的paddle模型通过openvino实现模型的预测加
## 部署流程
**PaddleX到OpenVINO的部署流程可以分为如下两步**
:
*
**模型转换**
:将
paddle的模型转换为openvino
的Inference Engine
*
**模型转换**
:将
Paddle的模型转换为OpenVINO
的Inference Engine
*
**预测部署**
:使用Inference Engine进行预测
## 模型转换
**模型转换请参考文档[模型转换](./export_openvino_model.md)**
**说明**
:由于不同软硬件平台下OpenVINO模型转换方法一致,
模型转换的方法,
后续文档中不再赘述。
**说明**
:由于不同软硬件平台下OpenVINO模型转换方法一致,
故如何转换模型
后续文档中不再赘述。
## 预测部署
由于不同软硬下部署OpenVINO实现预测的方式不完全一致,具体请参考:
...
...
docs/deploy/openvino/linux.md
浏览文件 @
553a46a6
...
...
@@ -10,7 +10,7 @@
*
OpenVINO 2020.4
*
硬件平台:CPU、VPU
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
latest/install.html
)
, OpenVINO安装请
参考
[
OpenVINO-Linux
](
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html
)
或者
[
OpenVINO-Raspbian
](
https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_raspbian.html
)
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
develop/install.html
)
, OpenVINO安装请根据相应的系统
参考
[
OpenVINO-Linux
](
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html
)
或者
[
OpenVINO-Raspbian
](
https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_raspbian.html
)
请确保系统已经安装好上述基本软件,并配置好相应环境,
**下面所有示例以工作目录 `/root/projects/`演示**
。
...
...
@@ -26,7 +26,7 @@ mkdir -p /root/projects
cd /root/projects
git clone https://github.com/PaddlePaddle/PaddleX.git
```
**说明**
:其中C++预测代码在PaddleX
\d
eploy
\
o
penvino 目录,该目录不依赖任何PaddleX下其他目录。
**说明**
:其中C++预测代码在PaddleX
/deploy/
openvino 目录,该目录不依赖任何PaddleX下其他目录。
### Step2 软件依赖
提供了依赖软件预编包或者一键编译,用户不需要单独下载或编译第三方依赖软件。若需要自行编译第三方依赖软件请参考:
...
...
@@ -41,7 +41,7 @@ git clone https://github.com/PaddlePaddle/PaddleX.git
### Step3: 编译
编译
`cmake`
的命令在
`scripts/build.sh`
中,若在树莓派(Raspbian OS)上编译请修改ARCH参数x86为armv7,若自行编译第三方依赖软件请根据Step1中编译软件的实际情况修改主要参数
,
其主要内容说明如下:
编译
`cmake`
的命令在
`scripts/build.sh`
中,若在树莓派(Raspbian OS)上编译请修改ARCH参数x86为armv7,若自行编译第三方依赖软件请根据Step1中编译软件的实际情况修改主要参数
,
其主要内容说明如下:
```
# openvino预编译库的路径
OPENVINO_DIR=$INTEL_OPENVINO_DIR/inference_engine
...
...
@@ -63,7 +63,7 @@ ARCH=x86
### Step4: 预测
编译成功后,分类任务的预测可执行程序为
`classifier`
,
分割任务的预测可执行程序为
`segmenter`
,检测任务的预测可执行程序为
`detector`
,其主要命令参数说明如下:
编译成功后,分类任务的预测可执行程序为
`classifier`
,
分割任务的预测可执行程序为
`segmenter`
,检测任务的预测可执行程序为
`detector`
,其主要命令参数说明如下:
| 参数 | 说明 |
| ---- | ---- |
...
...
@@ -86,7 +86,7 @@ linux系统在CPU下做单张图片的分类任务预测
`样例二`
:
linux系统在CPU下做多张图片的分割任务预测,并保存预测可视化结果
预测多个图片
`/path/to/image_list.txt`
,image_list.txt内容的格式如下:
预测
的
多个图片
`/path/to/image_list.txt`
,image_list.txt内容的格式如下:
```
/path/to/images/test_img1.jpeg
/path/to/images/test_img2.jpeg
...
...
@@ -109,12 +109,12 @@ linux系统在CPU下做多张图片的分割任务预测,并保存预测可视
## 性能测试
`测试一`
:
在服务器CPU下测试了OpenVINO对PaddleX部署的加速性能:
-
cpu
:Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
-
openvino
: 2020.4
-
paddleX:采用p
addle预测库(1.8),打开mkldnn加速,打开多线程。
-
模型来自
p
addleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。
-
CPU
:Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
-
OpenVINO
: 2020.4
-
PaddleX:采用P
addle预测库(1.8),打开mkldnn加速,打开多线程。
-
模型来自
P
addleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。
|模型|
paddleX| openvino
| 图片输入大小|
|模型|
PaddleX| OpenVINO
| 图片输入大小|
|---|---|---|---|
|resnet-50 | 20.56 | 16.12 | 224
*
224 |
|mobilenet-V2 | 5.16 | 2.31 |224
*
224|
...
...
@@ -125,24 +125,24 @@ linux系统在CPU下做多张图片的分割任务预测,并保存预测可视
`测试二`
:
在PC机上插入VPU架构的神经计算棒(NCS2),通过Openvino加速。
-
cpu
:Intel(R) Core(TM) i5-4300U 1.90GHz
-
vpu
:Movidius Neural Compute Stick2
-
openvino
: 2020.4
-
模型来自
p
addleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。
-
CPU
:Intel(R) Core(TM) i5-4300U 1.90GHz
-
VPU
:Movidius Neural Compute Stick2
-
OpenVINO
: 2020.4
-
模型来自
P
addleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。
|模型|
openvino
|输入图片|
|模型|
OpenVINO
|输入图片|
|---|---|---|
|mobilenetV2|24.00|224
*
224|
|resnet50_vd_ssld|58.53|224
*
224|
`测试三`
:
在树莓派3B上插入VPU架构的神经计算棒(NCS2),通过Openvino加速。
-
cpu
:ARM Cortex-A72 1.2GHz 64bit
-
vpu
:Movidius Neural Compute Stick2
-
openvino:
2020.4
-
CPU
:ARM Cortex-A72 1.2GHz 64bit
-
VPU
:Movidius Neural Compute Stick2
-
OpenVINO
2020.4
-
模型来自paddleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。
|模型|
openvino
|输入图片大小|
|模型|
OpenVINO
|输入图片大小|
|---|---|---|
|mobilenetV2|43.15|224
*
224|
|resnet50|82.66|224
*
224|
docs/deploy/openvino/windows.md
浏览文件 @
553a46a6
...
...
@@ -8,9 +8,9 @@ Windows 平台下,我们使用`Visual Studio 2019 Community` 进行了测试
*
OpenVINO 2020.4
*
CMake 3.0+
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
latest
/install.html
)
, OpenVINO安装请参考
[
OpenVINO-Windows
](
https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_windows.html
)
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
develop
/install.html
)
, OpenVINO安装请参考
[
OpenVINO-Windows
](
https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_windows.html
)
**注意**
:安装完OpenVINO后需要手动添加OpenVINO目录到系统环境变量,否则在运行程序时会出现找不到dll的情况。以
OpenVINO
不改变OpenVINO安装目录情况下为示例,流程如下
**注意**
:安装完OpenVINO后需要手动添加OpenVINO目录到系统环境变量,否则在运行程序时会出现找不到dll的情况。以
安装OpenVINO时
不改变OpenVINO安装目录情况下为示例,流程如下
-
我的电脑->属性->高级系统设置->环境变量
-
在系统变量中找到Path(如没有,自行创建),并双击编辑
-
新建,分别将OpenVINO以下路径填入并保存:
...
...
@@ -36,7 +36,10 @@ git clone https://github.com/PaddlePaddle/PaddleX.git
**说明**
:其中
`C++`
预测代码在
`PaddleX\deploy\openvino`
目录,该目录不依赖任何
`PaddleX`
下其他目录。
### Step2 软件依赖
提供了依赖软件预编译库,
[
gflas-glog
](
https://bj.bcebos.com/paddlex/deploy/windows/third-parts.zip
)
,
[
opencv
](
https://bj.bcebos.com/paddleseg/deploy/opencv-3.4.6-vc14_vc15.exe
)
,请下载上面两个连接的预编译库。若需要自行下载请参考:
提供了依赖软件预编译库:
-
[
gflas-glog
](
https://bj.bcebos.com/paddlex/deploy/windows/third-parts.zip
)
-
[
opencv
](
https://bj.bcebos.com/paddleseg/deploy/opencv-3.4.6-vc14_vc15.exe
)
请下载上面两个连接的预编译库。若需要自行下载请参考:
-
gflags:
[
下载地址
](
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/gflags
)
-
glog:
[
编译文档
](
https://github.com/google/glog
)
-
opencv:
[
下载地址
](
https://opencv.org/releases/
)
...
...
docs/deploy/raspberry/Raspberry.md
浏览文件 @
553a46a6
...
...
@@ -4,13 +4,13 @@ PaddleX支持通过Paddle-Lite和基于OpenVINO的神经计算棒(NCS2)这两种
## 硬件环境配置
对于尚未安装系统的树莓派首先需要进行系统安装、环境配置等步
奏
来初始化硬件环境,过程中需要的软硬件如下:
对于尚未安装系统的树莓派首先需要进行系统安装、环境配置等步
骤
来初始化硬件环境,过程中需要的软硬件如下:
-
硬件:micro SD,显示器,键盘,鼠标
-
软件:Raspbian OS
### Step1:系统安装
-
格式化micro SD卡为FAT格式,Windows和Mac下建议使用
[
SD Memory Card Formatter
](
https://www.sdcard.org/downloads/formatter/
)
工具,Linux下请参考
[
NOOBS For Raspberry Pi
](
http://qdosmsq.dunbar-it.co.uk/blog/2013/06/noobs-for-raspberry-pi/
)
-
下载NOOBS版本的Raspbian OS
[
下载地址
](
https://www.raspberrypi.org/downloads/
)
并将解压后的文件复制到SD中,插入SD
到树莓派上
通电,然后将自动安装系统
-
下载NOOBS版本的Raspbian OS
[
下载地址
](
https://www.raspberrypi.org/downloads/
)
并将解压后的文件复制到SD中,插入SD
后给树莓派
通电,然后将自动安装系统
### Step2:环境配置
-
启用VNC和SSH服务:打开LX终端输入,输入如下命令,选择Interfacing Option然后选择P2 SSH 和 P3 VNC分别打开SSH与VNC。打开后就可以通过SSH或者VNC的方式连接树莓派
```
...
...
@@ -23,9 +23,10 @@ sudo apt-get upgrade
```
## Paddle-Lite部署
基于Paddle-Lite的部署目前可以支持PaddleX的分类、分割与检测模型。部署的流程包括:PaddleX模型转换与转换后的模型部署
基于Paddle-Lite的部署目前可以支持PaddleX的分类、分割与检测模型。
部署的流程包括:PaddleX模型转换与转换后的模型部署
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
latest
/install.html
)
,Paddle-Lite详细资料请参考
[
Paddle-Lite
](
https://paddle-lite.readthedocs.io/zh/latest/index.html
)
**说明**
:PaddleX安装请参考
[
PaddleX
](
https://paddlex.readthedocs.io/zh_CN/
develop
/install.html
)
,Paddle-Lite详细资料请参考
[
Paddle-Lite
](
https://paddle-lite.readthedocs.io/zh/latest/index.html
)
请确保系统已经安装好上述基本软件,并配置好相应环境,
**下面所有示例以工作目录 `/root/projects/`演示**
。
...
...
@@ -39,10 +40,11 @@ mkdir -p /root/projects
cd /root/projects
git clone https://github.com/PaddlePaddle/PaddleX.git
```
**说明**
:其中C++预测代码在PaddleX/deploy/raspberry 目录,该目录不依赖任何PaddleX下其他目录,如果需要在python下预测部署请参考
[
p
ython预测部署
](
./python.md
)
。
**说明**
:其中C++预测代码在PaddleX/deploy/raspberry 目录,该目录不依赖任何PaddleX下其他目录,如果需要在python下预测部署请参考
[
P
ython预测部署
](
./python.md
)
。
### Step2:Paddle-Lite预编译库下载
提供了下载的opt工具对应的Paddle-Lite在ArmLinux下面的预编译库:
[
Paddle-Lite(ArmLinux)预编译库
](
https://bj.bcebos.com/paddlex/deploy/lite/inference_lite_2.6.1_armlinux.tar.bz2
)
。建议用户使用预编译库,若需要自行编译,在树莓派上LX终端输入
提供了下载的opt工具对应的Paddle-Lite在ArmLinux下面的预编译库:
[
Paddle-Lite(ArmLinux)预编译库
](
https://bj.bcebos.com/paddlex/deploy/lite/inference_lite_2.6.1_armlinux.tar.bz2
)
。
建议用户使用预编译库,若需要自行编译,在树莓派上LX终端输入
```
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd Paddle-Lite
...
...
docs/deploy/raspberry/export_nb_model.md
浏览文件 @
553a46a6
# Paddle-Lite模型转换
将Paddle模型转换为Paddle-Lite的nb模型,模型转换主要包括PaddleX转inference model和inference model转Paddle-Lite nb模型
将Paddle
X
模型转换为Paddle-Lite的nb模型,模型转换主要包括PaddleX转inference model和inference model转Paddle-Lite nb模型
### Step1:导出inference模型
PaddleX模型转Paddle-Lite模型之前需要先把PaddleX模型导出为inference格式模型,导出的模型将包括__model__、__params__和model.yml三个文件名。具体方法请参考
[
Inference模型导出
](
../export_model.md
)
。
### Step2:导出Paddle-Lite模型
...
...
@@ -28,6 +28,6 @@ Paddle-Lite模型需要通过Paddle-Lite的opt工具转出模型,下载并解
--optimize_out=model_output_name
```
详细的使用方法和参数含义请参考:
[
使用opt转化模型
](
https://paddle-lite.readthedocs.io/zh/latest/user_guides/opt/opt_bin.html
)
,更多opt预编译版本请参考
[
Paddle-Lite Release Note
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
更多
详细的使用方法和参数含义请参考:
[
使用opt转化模型
](
https://paddle-lite.readthedocs.io/zh/latest/user_guides/opt/opt_bin.html
)
,更多opt预编译版本请参考
[
Paddle-Lite Release Note
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
**注意**
:opt版本需要跟预测库版本保持一致,如使2.6.0的python版预测库,请从上面Release Note中下载2.6.0版本的opt转换模型
\ No newline at end of file
**注意**
:opt版本需要跟预测库版本保持一致,如使2.6.0版本预测库,请从上面Release Note中下载2.6.0版本的opt转换模型
\ No newline at end of file
docs/deploy/raspberry/python.md
浏览文件 @
553a46a6
# Python预测部署
文档说明了在树莓派上使用
python版本的Paddle-Lite进行PaddleX模型好的预测部署,Paddle-Lite python版本的预测库下载,
用户也可以下载whl文件进行安装
[
Paddle-Lite_2.6.0_python
](
https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.6.0/armlinux_python_installer.zip
)
,更多版本请参考
[
Paddle-Lite Release Note
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
文档说明了在树莓派上使用
Python版本的Paddle-Lite进行PaddleX模型好的预测部署,根据下面的命令安装Python版本的Paddle-Lite预测库,若安装不成功
用户也可以下载whl文件进行安装
[
Paddle-Lite_2.6.0_python
](
https://github.com/PaddlePaddle/Paddle-Lite/releases/download/v2.6.0/armlinux_python_installer.zip
)
,更多版本请参考
[
Paddle-Lite Release Note
](
https://github.com/PaddlePaddle/Paddle-Lite/releases
)
```
python -m pip install paddlelite
```
部署前需要先将PaddleX模型转换为Paddle-Lite的nb模型,具体请参考
[
Paddle-Lite模型转换
](
./export_nb_model.md
)
**注意**
:若用户使用2.6.0的Python预测库,请下载2.6.0版本的opt转换工具转换模型
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录