update doc

This commit is contained in:
MissPenguin 2021-10-18 12:45:52 +00:00
parent 440feccffc
commit e0b62a5aba
3 changed files with 32 additions and 26 deletions

View File

@ -2,20 +2,19 @@
C++预测功能测试的主程序为`test_cpp.sh`可以测试基于C++预测库的模型推理功能。
## 测试结论汇总
## 1. 测试结论汇总
| 算法名称 | 模型名称 |device | batchsize | mkldnn | cpu多线程 | tensorrt | 离线量化 |
| ---- | ---- | ---- | ---- | ---- | ---- | ----| --- |
| DB |ch_ppocr_mobile_v2.0_det| CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
| DB |ch_ppocr_server_v2.0_det| CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
| CRNN |ch_ppocr_mobile_v2.0_rec| CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
| CRNN |ch_ppocr_server_v2.0_rec| CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
|PP-OCR|ch_ppocr_server_v2.0 | CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
|PP-OCR|ch_ppocr_server_v2.0 | CPU/GPU | 1/6 | 支持 | 支持 | fp32/fp16/int8 | 支持 |
基于训练是否使用量化,进行本测试的模型可以分为`正常模型`和`量化模型`这两类模型对应的C++预测功能汇总如下:
| 模型类型 |device | batchsize | tensorrt | mkldnn | cpu多线程 |
| ---- | ---- | ---- | :----: | :----: | :----: |
| 正常模型 | GPU | 1/6 | fp32/fp16 | - | - |
| 正常模型 | CPU | 1/6 | - | fp32 | 支持 |
| 量化模型 | GPU | 1/6 | int8 | - | - |
| 量化模型 | CPU | 1/6 | - | | 支持 |
## 1. 功能测试
## 2. 测试流程
### 2.1 功能测试
先运行`prepare.sh`准备数据和模型,然后运行`test_cpp.sh`进行测试,最终在```tests/output```目录下生成`cpp_infer_*.log`后缀的日志文件。
```shell
@ -28,14 +27,14 @@ bash tests/test_cpp.sh ./tests/configs/ppocr_det_mobile_params.txt '1'
```
## 2. 精度测试
### 2.2 精度测试
使用compare_results.py脚本比较模型预测的结果是否符合预期主要步骤包括
- 提取日志中的预测坐标;
- 从本地文件中提取保存好的坐标结果;
- 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。
### 使用方式
#### 使用方式
运行命令:
```shell
python3.7 tests/compare_results.py --gt_file=./tests/results/cpp_*.txt --log_file=./tests/output/cpp_*.log --atol=1e-3 --rtol=1e-3
@ -47,7 +46,7 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/cpp_*.txt --log_fi
- atol: 设置的绝对误差
- rtol: 设置的相对误差
### 运行结果
#### 运行结果
正常运行效果如下图:
<img src="compare_cpp_right.png" width="1000">
@ -55,5 +54,7 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/cpp_*.txt --log_fi
出现不一致结果时的运行输出:
<img src="compare_cpp_wrong.png" width="1000">
***
## 3. 更多教程
本文档为功能测试用更详细的c++预测使用教程请参考:[服务器端C++预测](https://github.com/PaddlePaddle/PaddleOCR/tree/dygraph/deploy/cpp_infer)

View File

@ -2,7 +2,7 @@
Python功能测试的主程序为`test_python.sh`可以测试基于Python的模型训练、评估、推理等基本功能包括裁剪、量化、蒸馏。
## 测试结论汇总
## 1. 测试结论汇总
- 训练相关:
@ -25,8 +25,8 @@ Python功能测试的主程序为`test_python.sh`可以测试基于Python的
| 量化模型 | GPU | 1/6 | int8 | - | - |
| 量化模型 | CPU | 1/6 | - | int8 | 支持 |
## 1. 安装依赖
## 2. 测试流程
### 2.1 安装依赖
- 安装PaddlePaddle >= 2.0
- 安装PaddleOCR依赖
```
@ -43,7 +43,7 @@ Python功能测试的主程序为`test_python.sh`可以测试基于Python的
```
## 2. 功能测试
### 2.2 功能测试
先运行`prepare.sh`准备数据和模型,然后运行`test_python.sh`进行测试,最终在```tests/output```目录下生成`infer_*.log`格式的日志文件。
test_python.sh包含四种运行模式每种模式的运行数据不同分别用于测试速度和精度分别是
@ -82,14 +82,14 @@ bash tests/test_python.sh tests/configs/ppocr_det_mobile_params.txt 'klquant_in
```
## 3. 精度测试
### 2.3 精度测试
使用compare_results.py脚本比较模型预测的结果是否符合预期主要步骤包括
- 提取日志中的预测坐标;
- 从本地文件中提取保存好的坐标结果;
- 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。
### 使用方式
#### 使用方式
运行命令:
```shell
python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log_file=./tests/output/python_*.log --atol=1e-3 --rtol=1e-3
@ -101,7 +101,7 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log
- atol: 设置的绝对误差
- rtol: 设置的相对误差
### 运行结果
#### 运行结果
正常运行效果如下图:
<img src="compare_right.png" width="1000">
@ -109,7 +109,8 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log
出现不一致结果时的运行输出:
<img src="compare_wrong.png" width="1000">
***
## 3. 更多教程
本文档为功能测试用,更丰富的训练预测使用教程请参考:
[模型训练](https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/training.md)
[基于Python预测引擎推理](https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/inference.md)

View File

@ -1,17 +1,21 @@
# 推理部署导航
## 1. 简介
飞桨除了基本的模型训练和预测还提供了支持多端多平台的高性能推理部署工具。本文档提供了PaddleOCR中所有模型的推理部署导航方便用户查阅每种模型的推理部署打通情况并可以进行一键测试。
<div align="center">
<img src="docs/guide.png" width="1000">
</div>
## 2. 汇总信息
打通情况汇总如下,已填写的部分表示可以使用本工具进行一键测试,未填写的表示正在支持中。
**字段说明:**
- 基础训练预测:必选支持功能,包括模型训练、Paddle Inference Python预测。
- 其他:可选支持功能,包括Paddle Inference C++预测、Paddle Serving部署、Paddle-Lite部署。
- 基础训练预测包括模型训练、Paddle Inference Python预测。
- 其他包括Paddle Inference C++预测、Paddle Serving部署、Paddle-Lite部署
| 算法论文 | 模型名称 | 模型类型 | 基础训练预测 | 其他 |
@ -44,7 +48,7 @@
## 一键测试工具使用
## 3. 一键测试工具使用
### 目录介绍
```shell