update doc
This commit is contained in:
parent
440feccffc
commit
e0b62a5aba
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue