Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
919310bb
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
919310bb
编写于
5月 12, 2020
作者:
W
wangguanzhong
提交者:
GitHub
5月 12, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
deprecate cpp_infer (#651)
上级
19b79897
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
55 deletion
+4
-55
deploy/python/README.md
deploy/python/README.md
+2
-1
docs/advanced_tutorials/deploy/INFERENCE.md
docs/advanced_tutorials/deploy/INFERENCE.md
+0
-54
tools/cpp_infer.py
tools/cpp_infer.py
+2
-0
未找到文件。
deploy/python/README.md
浏览文件 @
919310bb
...
...
@@ -46,7 +46,8 @@ python deploy/python/infer.py --model_dir=/path/to/models --image_file=/path/to/
说明:
run_mode:fluid代表使用AnalysisPredictor,精度float32来推理,其他参数指用AnalysisPredictor,TensorRT不同精度来推理。
-
run_mode:fluid代表使用AnalysisPredictor,精度float32来推理,其他参数指用AnalysisPredictor,TensorRT不同精度来推理。
-
PaddlePaddle默认的GPU安装包(<=1.7),不支持基于TensorRT进行预测,如果想基于TensorRT加速预测,需要自行编译,详细可参考
[
预测库编译教程
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_usage/deploy/inference/paddle_tensorrt_infer.html
)
。
## 3. 部署性能对比测试
对比AnalysisPredictor相对Executor的推理速度
...
...
docs/advanced_tutorials/deploy/INFERENCE.md
已删除
100644 → 0
浏览文件 @
19b79897
# 模型预测
本篇教程使用Python API对
[
导出模型
](
EXPORT_MODEL.md
)
保存的inference_model进行预测。
在PaddlePaddle中预测引擎和训练引擎底层有着不同的优化方法,代码走不同的分支,两者都可以进行预测。在入门教程的训练/评估/预测流程中介绍的预测流程,即tools/infer.py是使用训练引擎分支的预测流程。保存的inference_model,可以通过
`fluid.io.load_inference_model`
接口,走训练引擎分支预测。本文档也同时介绍通过预测引擎的Python API进行预测,一般而言这种方式的速度优于前者。
这篇教程介绍的Python API预测示例,除了可视化部分依赖PaddleDetection外,预处理、模型结构、执行流程均不依赖PaddleDetection。
## 使用方式
```
bash
export
CUDA_VISIBLE_DEVICES
=
0
python tools/cpp_infer.py
--model_path
=
inference_model/faster_rcnn_r50_1x/
--config_path
=
tools/cpp_demo.yml
--infer_img
=
demo/000000570688.jpg
--visualize
```
主要参数说明:
-
model_path: inference_model保存路径
-
config_path: 参数配置、数据预处理配置文件,注意不是训练时的配置文件
-
infer_img: 待预测图片
-
visualize: 是否保存可视化结果,默认保存路径为
```output/```
-
dump_result: 是否保存预测结果,保存格式为json文件,默认保存路径为
```output/```
更多参数可在
```demo/infer_cfg.yml```
中查看,主要参数:
-
use_python_inference:
若为true,使用
`fluid.io.load_inference_model`
接口,走训练引擎分支预测。
-
mode:
支持fluid、trt_fp32、trt_fp16、trt_int8,当use_python_inference为false时起作用。fluid是通过预测引擎分支预测,trt_fp32、trt_fp16、trt_int8是通过预测引擎分支预测,后端基于TensorRT的FP32、FP16精度。
-
min_subgraph_size:
当设置mode采用TensorRT时,注意设置此参数。设置与模型arch相关,对部分arch需要调大该参数,一般设置为40适用于所有模型。适当的调小
`min_subgraph_size`
会对预测有加速效果,例如YOLO中该参数可设置为3。
-
Preprocess:
数据预处理配置,一般来说顺序为Resize -> Normalize -> Permute,对于FPN模型还需配置PadStride。不同模型的数据预处理参考训练配置中的
`TestReader`
部分。
**注意**
1.
基于TensorRT预测,数据预处理Resize设置的shape必须保持与模型导出时shape大小一致。
2.
预处理中
`PadStride`
为输入图片右下角填充0,默认设置stride为0,即不对输入图片做padding操作。模型中包含FPN结构时,stride应设置为32。模型为RetinaNet系列模型时,stride应设置为128.
3.
PaddlePaddle默认的GPU安装包(<=1.7),是不支持基于TensorRT进行预测,如果想基于TensorRT加速预测,需要自行编译,详细可参考
[
预测库编译教程
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/advanced_usage/deploy/inference/paddle_tensorrt_infer.html
)
。
tools/cpp_infer.py
浏览文件 @
919310bb
...
...
@@ -505,6 +505,8 @@ def visualize(bbox_results, catid2name, num_classes, mask_results=None):
def
infer
():
logger
.
info
(
"cpp_infer.py is deprecated since release/0.3. Please use"
"deploy/python for your python deployment"
)
model_path
=
FLAGS
.
model_path
config_path
=
FLAGS
.
config_path
res
=
{}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录