diff --git a/deploy/README.md b/deploy/README.md index 1a9efe9d8ef9810592bd05e2e9fbd06842303c49..515b1a16878efe8b1d18622aa811a335a285cdac 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -1,6 +1,7 @@ -# 模型部署 +# 多端安全部署 -本目录为PaddleX模型部署代码, 编译和使用的教程参考: +本目录为PaddleX模型部署代码,编译和使用教程参考: -- [C++部署文档](../docs/tutorials/deploy/deploy.md#C部署) -- [OpenVINO部署文档](../docs/tutorials/deploy/deploy.md#openvino部署) +- [服务端部署(支持Python部署、C++部署、模型加密部署)](../docs/tutorials/deploy/deploy_server/) +- [OpenVINO部署](../docs/tutorials/deploy/deploy_openvino.md) +- [移动端部署](../docs/tutorials/deploy/deploy_lite.md) diff --git a/docs/tutorials/deploy/deploy_openvino.md b/docs/tutorials/deploy/deploy_openvino.md index 49e2cbf0fa3d98370ec8496eb555683aaeb1118d..7011ca2cd78a366cb5aaebbe8e95fc18101a6e4b 100644 --- a/docs/tutorials/deploy/deploy_openvino.md +++ b/docs/tutorials/deploy/deploy_openvino.md @@ -1,11 +1,11 @@ # OpenVINO部署 ## 方案简介 -OpenVINO部署方案位于目录`deploy/openvino/`下,且独立于PaddleX其他模块,该方案目前支持在 **Linux** 完成编译和部署运行。 +OpenVINO部署方案位于目录`PaddleX/deploy/openvino/`下,且独立于PaddleX其他模块,该方案目前支持在 **Linux** 完成编译和部署运行。 PaddleX到OpenVINO的部署流程如下: ->> PaddleX --> ONNX --> OpenVINO IR --> OpenVINO Inference Engine +> PaddleX --> ONNX --> OpenVINO IR --> OpenVINO Inference Engine |目前支持OpenVINO部署的PaddleX模型| |-----| @@ -16,7 +16,7 @@ PaddleX到OpenVINO的部署流程如下: |ResNet50_vd| |ResNet101_vd| |ResNet50_vd_ssld| -|ResNet101_vd_ssld +|ResNet101_vd_ssld| |DarkNet53| |MobileNetV1| |MobileNetV2| @@ -25,9 +25,11 @@ PaddleX到OpenVINO的部署流程如下: |DenseNet201| ## 部署流程 + ### 说明 本文档在 `Ubuntu`使用`GCC 4.8.5` 进行了验证,如果需要使用更多G++版本和平台的OpenVino编译,请参考: [OpenVINO](https://github.com/openvinotoolkit/openvino/blob/2020/build-instruction.md)。 + ### 验证环境 * Ubuntu* 16.04 (64-bit) with GCC* 4.8.5 * CMake 3.12 @@ -56,7 +58,7 @@ PaddleX到OpenVINO的部署流程如下: - ngraph: 说明:openvino编译的过程中会生成ngraph的lib文件,位于{openvino根目录}/bin/intel64/Release/lib/下。 -### Step2: 编译demo +### Step2: 编译 编译`cmake`的命令在`scripts/build.sh`中,请根据Step1中编译软件的实际情况修改主要参数,其主要内容说明如下: @@ -89,16 +91,17 @@ make ### Step3: 模型转换 -将PaddleX模型转换成ONNX模型 +将PaddleX模型转换成ONNX模型: ``` paddlex --export_onnx --model_dir=/path/to/xiaoduxiong_epoch_12 --save_dir=/path/to/onnx_model ``` -将生成的onnx模型转换为OpencVINO支持的格式,请参考:[Model Optimizer文档](https://docs.openvinotoolkit.org/latest/_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html) +将生成的onnx模型转换为OpenVINO支持的格式,请参考:[Model Optimizer文档](https://docs.openvinotoolkit.org/latest/_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html) ### Step4: 预测 -编译成功后,预测demo的可执行程序分别为`build/detector`,其主要命令参数说明如下: + +编译成功后,分类任务的预测可执行程序为`classifier`,其主要命令参数说明如下: | 参数 | 说明 | | ---- | ---- | @@ -107,17 +110,14 @@ paddlex --export_onnx --model_dir=/path/to/xiaoduxiong_epoch_12 --save_dir=/path | --image_list | 按行存储图片路径的.txt文件 | | --device | 运行的平台, 默认值为"CPU" | - -### 样例 - -可使用[小度熊识别模型](deploy_server/deploy_python.html#inference)中导出的`inference_model`和测试图片进行预测。 +#### 样例 `样例一`: 测试图片 `/path/to/xiaoduxiong.jpeg` ```shell -./build/classifier --model_dir=/path/to/inference_model --image=/path/to/xiaoduxiong.jpeg +./build/classifier --model_dir=/path/to/openvino_model --image=/path/to/xiaoduxiong.jpeg ``` @@ -130,6 +130,7 @@ paddlex --export_onnx --model_dir=/path/to/xiaoduxiong_epoch_12 --save_dir=/path ... /path/to/images/xiaoduxiongn.jpeg ``` + ```shell -./build/classifier --model_dir=/path/to/models/inference_model --image_list=/root/projects/images_list.txt - +./build/classifier --model_dir=/path/to/models/openvino_model --image_list=/root/projects/images_list.txt ``` diff --git a/docs/tutorials/deploy/deploy_server/encryption.md b/docs/tutorials/deploy/deploy_server/encryption.md index c63ec2aab3d2d7a5e4d86390b6c08cdc28af22b3..71b07048ed8372b4c4b9aa0b2082dc9ed9f2f9a0 100644 --- a/docs/tutorials/deploy/deploy_server/encryption.md +++ b/docs/tutorials/deploy/deploy_server/encryption.md @@ -77,7 +77,7 @@ paddlex-encryption | use_gpu | 是否使用 GPU 预测, 支持值为0或1(默认值为0) | | use_trt | 是否使用 TensorTr 预测, 支持值为0或1(默认值为0) | | gpu_id | GPU 设备ID, 默认值为0 | -| save_dir | 保存可视化结果的路径, 默认值为"output",classfier无该参数 | +| save_dir | 保存可视化结果的路径, 默认值为"output",classifier无该参数 | | key | 加密过程中产生的密钥信息,默认值为""表示加载的是未加密的模型 |