Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleX
提交
e7b87365
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看板
提交
e7b87365
编写于
7月 15, 2020
作者:
F
FlyingQianMM
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rewrite README in deploy directory
上级
7488d339
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
47 addition
and
22 deletion
+47
-22
deploy/README.md
deploy/README.md
+13
-4
docs/apis/deploy.md
docs/apis/deploy.md
+1
-1
docs/deploy/export_model.md
docs/deploy/export_model.md
+16
-6
docs/deploy/nvidia-jetson.md
docs/deploy/nvidia-jetson.md
+3
-3
docs/deploy/server/cpp/index.rst
docs/deploy/server/cpp/index.rst
+1
-1
docs/deploy/server/python.md
docs/deploy/server/python.md
+11
-5
docs/examples/meter_reader.md
docs/examples/meter_reader.md
+1
-1
examples/meter_reader/README.md
examples/meter_reader/README.md
+1
-1
未找到文件。
deploy/README.md
浏览文件 @
e7b87365
#
多端安全
部署
#
模型
部署
本目录为PaddleX模型部署代码,编译和使用教程参考:
-
[
服务端部署(支持Python部署、C++部署、模型加密部署)
](
../docs/tutorials/deploy/deploy_server/
)
-
[
OpenVINO部署
](
../docs/tutorials/deploy/deploy_openvino.md
)
-
[
移动端部署
](
../docs/tutorials/deploy/deploy_lite.md
)
-
[
服务端部署
](
../docs/deploy/server/
)
-
[
Python部署
](
../docs/deploy/server/python.md
)
-
[
C++部署
](
../docs/deploy/server/cpp/
)
-
[
Windows平台部署
](
../docs/deploy/server/cpp/windows.md
)
-
[
Linux平台部署
](
../docs/deploy/server/cpp/linux.md
)
-
[
模型加密部署
](
../docs/deploy/server/encryption.md
)
-
[
Nvidia Jetson开发板部署
](
../docs/deploy/nvidia-jetson.md
)
-
[
移动端部署
](
../docs/deploy/paddlelite/
)
-
[
模型压缩
](
../docs/deploy/paddlelite/slim
)
-
[
模型量化
](
../docs/deploy/paddlelite/slim/quant.md
)
-
[
模型裁剪
](
../docs/deploy/paddlelite/slim/prune.md
)
-
[
Android平台
](
../docs/deploy/paddlelite/android.md
)
docs/apis/deploy.md
浏览文件 @
e7b87365
...
...
@@ -12,7 +12,7 @@ paddlex.deploy.Predictor(model_dir, use_gpu=False, gpu_id=0, use_mkl=False, use_
**参数**
> * **model_dir** (str):
训练过程中保存的模型路径, 注意需要使用导出的inference模型
。
> * **model_dir** (str):
导出为inference格式的模型路径
。
> * **use_gpu** (bool): 是否使用GPU进行预测。
> * **gpu_id** (int): 使用的GPU序列号。
> * **use_mkl** (bool): 是否使用mkldnn加速库。
...
...
docs/deploy/export_model.md
浏览文件 @
e7b87365
# 部署模型导出
在服务端部署的模型需要首先将模型导出为inference格式模型,导出的模型将包括
`__model__`
、
`__params__`
和
`model.yml`
三个文名,分别为模型的网络结构,模型权重和模型的配置文件(包括数据预处理参数等等)。在安装完PaddleX后,在命令行终端使用如下命令导出模型到当前目录
`inferece_model`
下。
> 可直接下载小度熊分拣模型测试本文档的流程[xiaoduxiong_epoch_12.tar.gz](https://bj.bcebos.com/paddlex/models/xiaoduxiong_epoch_12.tar.gz)
在服务端部署模型时需要将训练过程中保存的模型导出为inference格式模型,导出的inference格式模型包括
`__model__`
、
`__params__`
和
`model.yml`
三个文件,分别表示模型的网络结构、模型权重和模型的配置文件(包括数据预处理参数等)。
在安装完PaddleX后,在命令行终端使用如下命令将模型导出。可直接下载小度熊分拣模型来测试本文档的流程
[
xiaoduxiong_epoch_12.tar.gz
](
https://bj.bcebos.com/paddlex/models/xiaoduxiong_epoch_12.tar.gz
)
。
```
paddlex --export_inference --model_dir=./xiaoduxiong_epoch_12 --save_dir=./inference_model
```
使用TensorRT预测时,需指定模型的图像输入shape:[w,h]。
**注**
:
-
分类模型请保持于训练时输入的shape一致。
-
指定[w,h]时,w和h中间逗号隔开,不允许存在空格等其他字符
| 参数 | 说明 |
| ---- | ---- |
| --export_inference | 是否将模型导出为用于部署的inference格式,指定即为True |
| --model_dir | 待导出的模型路径 |
| --save_dir | 导出的模型存储路径 |
| --fixed_input_shape | 固定导出模型的输入大小,默认值为None |
使用TensorRT预测时,需固定模型的输入大小,通过
`--fixed_input_shape `
来制定输入大小[w,h]。
**注意**
:
-
分类模型的固定输入大小请保持与训练时的输入大小一致;
-
指定[w,h]时,w和h中间逗号隔开,不允许存在空格等其他字符。
```
paddlex --export_inference --model_dir=./xiaoduxiong_epoch_12 --save_dir=./inference_model --fixed_input_shape=[640,960]
...
...
docs/deploy/nvidia-jetson.md
浏览文件 @
e7b87365
# Nvidia
-
Jetson开发板
# Nvidia
Jetson开发板
## 说明
本文档在
`Linux`
平台使用
`GCC 4.8.5`
和
`GCC 4.9.4`
测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考:
[
N
VIDIA
Jetson嵌入式硬件预测库源码编译
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html#id12
)
。
本文档在
`Linux`
平台使用
`GCC 4.8.5`
和
`GCC 4.9.4`
测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考:
[
N
vidia
Jetson嵌入式硬件预测库源码编译
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html#id12
)
。
## 前置条件
*
G++ 4.8.2 ~ 4.9.4
...
...
@@ -19,7 +19,7 @@
### Step2: 下载PaddlePaddle C++ 预测库 paddle_inference
目前PaddlePaddle为Nvidia
-Jetson
提供了一个基于1.6.2版本的C++ 预测库。
目前PaddlePaddle为Nvidia
Jetson
提供了一个基于1.6.2版本的C++ 预测库。
| 版本说明 | 预测库(1.6.2版本) |
| ---- | ---- |
...
...
docs/deploy/server/cpp/index.rst
浏览文件 @
e7b87365
服务端
C++部署
C++部署
=======================================
...
...
docs/deploy/server/python.md
浏览文件 @
e7b87365
# Python部署
PaddleX已经集成了基于Python的高性能预测接口,在安装PaddleX后,可参照如下代码示例,进行预测。相关的接口文档可参考
[
paddlex.deploy
](
../../apis/deploy.md
)
PaddleX已经集成了基于Python的高性能预测接口,在安装PaddleX后,可参照如下代码示例,进行预测。
## 导出预测模型
可参考
[
模型导出
](
../export_model.md
)
将模型导出为inference格式的模型。
可参考
[
模型导出
](
../export_model.md
)
将模型导出为inference格式。
## 预测部署
> 点击下载测试图片 [xiaoduxiong_test_image.tar.gz](https://bj.bcebos.com/paddlex/datasets/xiaoduxiong_test_image.tar.gz)
预测接口说明可参考
[
paddlex.deploy
](
../../apis/deploy.md
)
点击下载测试图片
[
xiaoduxiong_test_image.tar.gz
](
https://bj.bcebos.com/paddlex/datasets/xiaoduxiong_test_image.tar.gz
)
*
单张图片预测
...
...
@@ -14,6 +19,7 @@ import paddlex as pdx
predictor = pdx.deploy.Predictor('./inference_model')
result = predictor.predict(image='xiaoduxiong_test_image/JPEGImages/WeChatIMG110.jpeg')
```
*
批量图片预测
```
...
...
@@ -24,7 +30,7 @@ image_list = ['xiaoduxiong_test_image/JPEGImages/WeChatIMG110.jpeg',
result = predictor.predict(image_list=image_list)
```
> 关于预测速度的说明:采用Paddle的Predictor进行预测时,由于涉及到内存显存初始化等原因,在模型加载后刚开始预测速度会较慢,一般在模型运行20~50后(即预测20~30张图片)预测速度才会
稳定。
**关于预测速度的说明**
:加载模型后前几张图片的预测速度会较慢,这是因为运行启动时涉及到内存显存初始化等步骤,通常在预测20-30张图片后模型的预测速度表现
稳定。
## 预测性能对比
### 测试环境
...
...
@@ -34,7 +40,7 @@ result = predictor.predict(image_list=image_list)
-
PaddlePaddle 1.71
-
GPU: Tesla P40
-
AnalysisPredictor 指采用Python的高性能预测方式
-
Executor 指采用
paddlepaddle普通的p
ython预测方式
-
Executor 指采用
PaddlePaddle普通的P
ython预测方式
-
Batch Size均为1,耗时单位为ms/image,只计算模型运行时间,不包括数据的预处理和后处理
### 性能对比
...
...
docs/examples/meter_reader.md
浏览文件 @
e7b87365
...
...
@@ -191,7 +191,7 @@ git clone https://github.com/PaddlePaddle/PaddleX
2.
将
`PaddleX/examples/meter_reader/deploy/cpp`
下的
`meter_reader`
文件夹和
`CMakeList.txt`
拷贝至
`PaddleX/deploy/cpp`
目录下,拷贝之前可以将
`PaddleX/deploy/cpp`
下原本的
`CMakeList.txt`
做好备份。
3.
按照
[
Nvidia
-Jetson开发板部署
](
)中的Step2至Step3完成C++预测代码的编译。
3.
按照
[
Nvidia
Jetson开发板部署
](
../deploy/nvidia-jetson.md
)
中的Step2至Step3完成C++预测代码的编译。
4.
编译成功后,可执行程为
`build/meter_reader/meter_reader`
,其主要命令参数说明如下:
...
...
examples/meter_reader/README.md
浏览文件 @
e7b87365
...
...
@@ -200,7 +200,7 @@ git clone https://github.com/PaddlePaddle/PaddleX
2.
将
`PaddleX/examples/meter_reader/deploy/cpp`
下的
`meter_reader`
文件夹和
`CMakeList.txt`
拷贝至
`PaddleX/deploy/cpp`
目录下,拷贝之前可以将
`PaddleX/deploy/cpp`
下原本的
`CMakeList.txt`
做好备份。
3.
按照
[
Nvidia
-Jetson开发板部署
](
)中的Step2至Step3完成C++预测代码的编译。
3.
按照
[
Nvidia
Jetson开发板部署
](
../../docs/deploy/nvidia-jetson.md
)
中的Step2至Step3完成C++预测代码的编译。
4.
编译成功后,可执行程为
`build/meter_reader/meter_reader`
,其主要命令参数说明如下:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录