diff --git a/docs/deploy/openvino/export_openvino_model.md b/docs/deploy/openvino/export_openvino_model.md index f2d07e4479588ef0d6511c535614f454af3a1d87..fe0a6cbfabf79efae7a8c7998f8bbdb9e7d6916e 100644 --- a/docs/deploy/openvino/export_openvino_model.md +++ b/docs/deploy/openvino/export_openvino_model.md @@ -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 | diff --git a/docs/deploy/openvino/introduction.md b/docs/deploy/openvino/introduction.md index 9f4abf21cbc98c0260377a977208f5e53b79a2a7..796a74fd04c85c1da3c2f6acd660ca4c8456758a 100644 --- a/docs/deploy/openvino/introduction.md +++ b/docs/deploy/openvino/introduction.md @@ -1,8 +1,8 @@ # 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实现预测的方式不完全一致,具体请参考: diff --git a/docs/deploy/openvino/linux.md b/docs/deploy/openvino/linux.md index 1ffb34dd194826f19e7e3d4da48ed4aacb4fc376..8fe462c748da5e4080ce0a06cb8d80a536a87a4f 100644 --- a/docs/deploy/openvino/linux.md +++ b/docs/deploy/openvino/linux.md @@ -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\deploy\openvino 目录,该目录不依赖任何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:采用paddle预测库(1.8),打开mkldnn加速,打开多线程。 -- 模型来自paddleX tutorials,Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理,20张图片warmup,100张图片测试性能。 +- CPU:Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz +- OpenVINO: 2020.4 +- PaddleX:采用Paddle预测库(1.8),打开mkldnn加速,打开多线程。 +- 模型来自PaddleX 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 -- 模型来自paddleX 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 +- 模型来自PaddleX 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| diff --git a/docs/deploy/openvino/windows.md b/docs/deploy/openvino/windows.md index fb1b3b18102dab33dfa7b49c3b606dc6d7a87ea8..44eefa7251d0e6d785198a084c8bf965de895a3f 100644 --- a/docs/deploy/openvino/windows.md +++ b/docs/deploy/openvino/windows.md @@ -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/) diff --git a/docs/deploy/raspberry/Raspberry.md b/docs/deploy/raspberry/Raspberry.md index a2450728eb5907cdcaae5faa5f8a0c69d2c419f2..bceb2434394b780e4fe63c4ba633df15ae89430d 100644 --- a/docs/deploy/raspberry/Raspberry.md +++ b/docs/deploy/raspberry/Raspberry.md @@ -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下预测部署请参考[python预测部署](./python.md)。 +**说明**:其中C++预测代码在PaddleX/deploy/raspberry 目录,该目录不依赖任何PaddleX下其他目录,如果需要在python下预测部署请参考[Python预测部署](./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 diff --git a/docs/deploy/raspberry/export_nb_model.md b/docs/deploy/raspberry/export_nb_model.md index 4353433b8c22f777cf98013974d6118306212f35..bbc42c7c87f9b5ae6600bf648e895dfc301c172c 100644 --- a/docs/deploy/raspberry/export_nb_model.md +++ b/docs/deploy/raspberry/export_nb_model.md @@ -1,5 +1,5 @@ # Paddle-Lite模型转换 -将Paddle模型转换为Paddle-Lite的nb模型,模型转换主要包括PaddleX转inference model和inference model转Paddle-Lite nb模型 +将PaddleX模型转换为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 diff --git a/docs/deploy/raspberry/python.md b/docs/deploy/raspberry/python.md index f59399c8f6a5c7d486cd90a474af2118adf406eb..aa46aa395f8e80f79d294ce79e013a2135df775f 100644 --- a/docs/deploy/raspberry/python.md +++ b/docs/deploy/raspberry/python.md @@ -1,9 +1,10 @@ # 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转换工具转换模型