提交 e0b62a5a 编写于 作者: M MissPenguin

update doc

上级 440feccf
...@@ -2,20 +2,19 @@ ...@@ -2,20 +2,19 @@
C++预测功能测试的主程序为`test_cpp.sh`,可以测试基于C++预测库的模型推理功能。 C++预测功能测试的主程序为`test_cpp.sh`,可以测试基于C++预测库的模型推理功能。
## 测试结论汇总 ## 1. 测试结论汇总
| 算法名称 | 模型名称 |device | batchsize | mkldnn | cpu多线程 | tensorrt | 离线量化 | 基于训练是否使用量化,进行本测试的模型可以分为`正常模型``量化模型`,这两类模型对应的C++预测功能汇总如下:
| ---- | ---- | ---- | ---- | ---- | ---- | ----| --- |
| 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 | 支持 |
| 模型类型 |device | batchsize | tensorrt | mkldnn | cpu多线程 |
| ---- | ---- | ---- | :----: | :----: | :----: |
| 正常模型 | GPU | 1/6 | fp32/fp16 | - | - |
| 正常模型 | CPU | 1/6 | - | fp32 | 支持 |
| 量化模型 | GPU | 1/6 | int8 | - | - |
| 量化模型 | CPU | 1/6 | - | | 支持 |
## 2. 测试流程
## 1. 功能测试 ### 2.1 功能测试
先运行`prepare.sh`准备数据和模型,然后运行`test_cpp.sh`进行测试,最终在```tests/output```目录下生成`cpp_infer_*.log`后缀的日志文件。 先运行`prepare.sh`准备数据和模型,然后运行`test_cpp.sh`进行测试,最终在```tests/output```目录下生成`cpp_infer_*.log`后缀的日志文件。
```shell ```shell
...@@ -28,14 +27,14 @@ bash tests/test_cpp.sh ./tests/configs/ppocr_det_mobile_params.txt '1' ...@@ -28,14 +27,14 @@ bash tests/test_cpp.sh ./tests/configs/ppocr_det_mobile_params.txt '1'
``` ```
## 2. 精度测试 ### 2.2 精度测试
使用compare_results.py脚本比较模型预测的结果是否符合预期,主要步骤包括: 使用compare_results.py脚本比较模型预测的结果是否符合预期,主要步骤包括:
- 提取日志中的预测坐标; - 提取日志中的预测坐标;
- 从本地文件中提取保存好的坐标结果; - 从本地文件中提取保存好的坐标结果;
- 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。 - 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。
### 使用方式 #### 使用方式
运行命令: 运行命令:
```shell ```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 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 ...@@ -47,7 +46,7 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/cpp_*.txt --log_fi
- atol: 设置的绝对误差 - atol: 设置的绝对误差
- rtol: 设置的相对误差 - rtol: 设置的相对误差
### 运行结果 #### 运行结果
正常运行效果如下图: 正常运行效果如下图:
<img src="compare_cpp_right.png" width="1000"> <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 ...@@ -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"> <img src="compare_cpp_wrong.png" width="1000">
***
## 3. 更多教程
本文档为功能测试用,更详细的c++预测使用教程请参考:[服务器端C++预测](https://github.com/PaddlePaddle/PaddleOCR/tree/dygraph/deploy/cpp_infer) 本文档为功能测试用,更详细的c++预测使用教程请参考:[服务器端C++预测](https://github.com/PaddlePaddle/PaddleOCR/tree/dygraph/deploy/cpp_infer)
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Python功能测试的主程序为`test_python.sh`,可以测试基于Python的模型训练、评估、推理等基本功能,包括裁剪、量化、蒸馏。 Python功能测试的主程序为`test_python.sh`,可以测试基于Python的模型训练、评估、推理等基本功能,包括裁剪、量化、蒸馏。
## 测试结论汇总 ## 1. 测试结论汇总
- 训练相关: - 训练相关:
...@@ -25,8 +25,8 @@ Python功能测试的主程序为`test_python.sh`,可以测试基于Python的 ...@@ -25,8 +25,8 @@ Python功能测试的主程序为`test_python.sh`,可以测试基于Python的
| 量化模型 | GPU | 1/6 | int8 | - | - | | 量化模型 | GPU | 1/6 | int8 | - | - |
| 量化模型 | CPU | 1/6 | - | int8 | 支持 | | 量化模型 | CPU | 1/6 | - | int8 | 支持 |
## 2. 测试流程
## 1. 安装依赖 ### 2.1 安装依赖
- 安装PaddlePaddle >= 2.0 - 安装PaddlePaddle >= 2.0
- 安装PaddleOCR依赖 - 安装PaddleOCR依赖
``` ```
...@@ -43,7 +43,7 @@ Python功能测试的主程序为`test_python.sh`,可以测试基于Python的 ...@@ -43,7 +43,7 @@ Python功能测试的主程序为`test_python.sh`,可以测试基于Python的
``` ```
## 2. 功能测试 ### 2.2 功能测试
先运行`prepare.sh`准备数据和模型,然后运行`test_python.sh`进行测试,最终在```tests/output```目录下生成`infer_*.log`格式的日志文件。 先运行`prepare.sh`准备数据和模型,然后运行`test_python.sh`进行测试,最终在```tests/output```目录下生成`infer_*.log`格式的日志文件。
test_python.sh包含四种运行模式,每种模式的运行数据不同,分别用于测试速度和精度,分别是: test_python.sh包含四种运行模式,每种模式的运行数据不同,分别用于测试速度和精度,分别是:
...@@ -82,14 +82,14 @@ bash tests/test_python.sh tests/configs/ppocr_det_mobile_params.txt 'klquant_in ...@@ -82,14 +82,14 @@ bash tests/test_python.sh tests/configs/ppocr_det_mobile_params.txt 'klquant_in
``` ```
## 3. 精度测试 ### 2.3 精度测试
使用compare_results.py脚本比较模型预测的结果是否符合预期,主要步骤包括: 使用compare_results.py脚本比较模型预测的结果是否符合预期,主要步骤包括:
- 提取日志中的预测坐标; - 提取日志中的预测坐标;
- 从本地文件中提取保存好的坐标结果; - 从本地文件中提取保存好的坐标结果;
- 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。 - 比较上述两个结果是否符合精度预期,误差大于设置阈值时会报错。
### 使用方式 #### 使用方式
运行命令: 运行命令:
```shell ```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 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 ...@@ -101,7 +101,7 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log
- atol: 设置的绝对误差 - atol: 设置的绝对误差
- rtol: 设置的相对误差 - rtol: 设置的相对误差
### 运行结果 #### 运行结果
正常运行效果如下图: 正常运行效果如下图:
<img src="compare_right.png" width="1000"> <img src="compare_right.png" width="1000">
...@@ -109,7 +109,8 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log ...@@ -109,7 +109,8 @@ python3.7 tests/compare_results.py --gt_file=./tests/results/python_*.txt --log
出现不一致结果时的运行输出: 出现不一致结果时的运行输出:
<img src="compare_wrong.png" width="1000"> <img src="compare_wrong.png" width="1000">
***
## 3. 更多教程
本文档为功能测试用,更丰富的训练预测使用教程请参考: 本文档为功能测试用,更丰富的训练预测使用教程请参考:
[模型训练](https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/training.md) [模型训练](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) [基于Python预测引擎推理](https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/inference.md)
# 推理部署导航 # 推理部署导航
## 1. 简介
飞桨除了基本的模型训练和预测,还提供了支持多端多平台的高性能推理部署工具。本文档提供了PaddleOCR中所有模型的推理部署导航,方便用户查阅每种模型的推理部署打通情况,并可以进行一键测试。 飞桨除了基本的模型训练和预测,还提供了支持多端多平台的高性能推理部署工具。本文档提供了PaddleOCR中所有模型的推理部署导航,方便用户查阅每种模型的推理部署打通情况,并可以进行一键测试。
<div align="center"> <div align="center">
<img src="docs/guide.png" width="1000"> <img src="docs/guide.png" width="1000">
</div> </div>
## 2. 汇总信息
打通情况汇总如下,已填写的部分表示可以使用本工具进行一键测试,未填写的表示正在支持中。 打通情况汇总如下,已填写的部分表示可以使用本工具进行一键测试,未填写的表示正在支持中。
**字段说明:** **字段说明:**
- 基础训练预测:必选支持功能,包括模型训练、Paddle Inference Python预测。 - 基础训练预测:包括模型训练、Paddle Inference Python预测。
- 其他:可选支持功能,包括Paddle Inference C++预测、Paddle Serving部署、Paddle-Lite部署 - 其他:包括Paddle Inference C++预测、Paddle Serving部署、Paddle-Lite部署等
| 算法论文 | 模型名称 | 模型类型 | 基础训练预测 | 其他 | | 算法论文 | 模型名称 | 模型类型 | 基础训练预测 | 其他 |
...@@ -44,7 +48,7 @@ ...@@ -44,7 +48,7 @@
## 一键测试工具使用 ## 3. 一键测试工具使用
### 目录介绍 ### 目录介绍
```shell ```shell
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册