diff --git a/doc/Offical_Docs/11-0_Contributors.md b/doc/Offical_Docs/11-0_Contributors.md index dff84269520bc6fff0a427e97132c75003f2da5c..905da97939f11ac1bf707a6dd0aeaae58cd29e6a 100644 --- a/doc/Offical_Docs/11-0_Contributors.md +++ b/doc/Offical_Docs/11-0_Contributors.md @@ -1,19 +1,28 @@ # 开发者贡献 +- [贡献代码流程](#1) + - [创建个人仓库](#1.1) + - [本地克隆仓库和分支](#1.2) + - [提交代码](#1.3) + - [通过 CI 验证](#1.4) + - [Code Review](#1.5) + - [代码合入](#1.6) +- [致谢开发者](#2) + + + ## 贡献代码流程 Paddle Serving 使用 Git 分支模式。通常,按以下步骤贡献代码: -- 创建个人仓库 -- 本地克隆仓库和分支 -- 提交代码 -- 通过 CI 验证 -- Code Review -- 代码合入 + + **一.创建个人仓库** Paddle Serving 社区一直在快速发展,每个人都写到官方回购中是没有意义的。所以,请先 `fork` 出个人仓库,并提交 `Pull Requests`。`fork` 个人仓库,只需前往 [Serving](https://github.com/PaddlePaddle/Serving) 页面并单击右上角 ["Fork"](https://github.com/PaddlePaddle/Serving/fork)。 + + **二.本地克隆仓库和分支** 创建个人仓库后,`clone` 个人仓库到本地计算机,默认创建本地 `develop` 分支。 @@ -21,6 +30,8 @@ Paddle Serving 社区一直在快速发展,每个人都写到官方回购中 git clone https://github.com/your-github-account/Serving ``` + + **三.提交代码** 本地修改代码并验证后,准备提交代码。在提交代码前请安装 [`pre-commit`](http://pre-commit.com/)、cpplint 和 pylint。 @@ -54,18 +65,25 @@ pip3 install cpplint pylint git push origin develop ``` + + **四.通过 CI 验证** 所有提交到 Paddle Serving 主仓库的 `pull request` 都会运行 `py36`、`py38`、`py39`的所有 CI 测试用例。全部通过后才能合入。 + + **五.Code Review** 所有提交的代码要经过管理员的评审,至少通过2人评审后方可合入。 + + **六.代码合入** 待通过全部 CI 验证,并且完成 Code Review 和修改后,由仓库管理员合入代码。 + ## 致谢开发者 diff --git a/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md b/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md index 680a704921c343af59ed59b8f28825feff116b28..650f043f21a5271e73d8a13a96d45a24ddb16096 100644 --- a/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md +++ b/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md @@ -1,7 +1,19 @@ # Python Pipeline 快速部署案例 +- [模型介绍](#1) +- [部署步骤](#2) + - [获取模型与保存模型参数](#2.1) + - [保存 Serving 部署的模型参数](#2.2) + - [下载测试数据集(可选)](#2.3) + - [修改配置文件(可选)](#2.4) + - [代码与配置信息绑定](#2.5) + - [启动服务与验证](#2.6) + + Python Pipeline 框架使用 Python 语言开发,是一套端到端多模型组合服务编程框架,旨在降低编程门槛,提高资源使用率(尤其是GPU设备),提升整体服务的预估效率。详细设计参考[ Python Pipeline 设计与使用]() + + ## 模型介绍 OCR 技术一般指光学字符识别。 OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。 @@ -16,6 +28,7 @@ PaddleOCR 提供的 PP-OCR 系列模型覆盖轻量级服务端、轻量级移 | 中英文超轻量移动端模型 | 9.4M | ch_ppocr_mobile_v2.0_xx | 移动端| | 中英文通用服务端模型 | 143.4M | ch_ppocr_server_v2.0_xx | 服务器端 | + ## 部署步骤 @@ -33,6 +46,8 @@ git clone https://github.com/PaddlePaddle/Serving - 五.代码与配置信息绑定 - 六.启动服务与验证 + + **一.获取模型与保存模型参数** 本章节选用中英文超轻量模型 ch_PP-OCRv2_xx 制作部署案例,模型体积小,效果很好,属于性价比很高的选择。 @@ -44,20 +59,27 @@ python3 -m paddle_serving_app.package --get_model ocr_det tar -xzvf ocr_det.tar.gz ``` + + **二.保存 Serving 部署的模型参数** 为了节省大家的时间,已将预训练模型使用[保存用于 Serving 部署的模型参数](./5-1_Save_Model_Params_CN.md)方法打包成压缩包,下载并解压即可使用。如你自训练的模型需经过保存模型服务化参数步骤才能服务化部署。 + **三.下载测试数据集(可选)** -第二步,下载测试图片集,如使用自有测试数据集,可忽略此步骤。 + +下载测试图片集,如使用自有测试数据集,可忽略此步骤。 ``` wget --no-check-certificate https://paddle-serving.bj.bcebos.com/ocr/test_imgs.tar tar xf test_imgs.tar ``` -**四.修改 `config.yml` 配置(可选)** -第三步,通过修改配置文件设置服务、图、OP 级别属性。如果使用默认配置,此步骤可忽略。 + + +**四.修改配置文件(可选)** + +修改配置文件 `config.yml` 设置服务、图、OP 级别属性。如果使用默认配置,此步骤可忽略。 由于配置项较多,仅重点介绍部分核心选项的使用,完整配置选项说明可参考[ 配置说明]() ``` @@ -165,6 +187,8 @@ op: #min_subgraph_size: 3 ``` + + **五.代码与配置信息绑定** 第四步,实现代码和配置文件 Config.yml 绑定,以及设置多模型组合关系。具体包括: @@ -209,6 +233,7 @@ ocr_service.prepare_pipeline_config("config.yml") ocr_service.run_service() ``` + **六.启动服务与验证** diff --git a/doc/Offical_Docs/4-0_ModelZoo_CN.md b/doc/Offical_Docs/4-0_ModelZoo_CN.md index b16103530a0b99dcc8216c92289cbecd770bee22..80f4b31e81f1d205af1fd2ad260733f2c60b34f5 100644 --- a/doc/Offical_Docs/4-0_ModelZoo_CN.md +++ b/doc/Offical_Docs/4-0_ModelZoo_CN.md @@ -1,8 +1,28 @@ # 模型库 +- [模型分类](#1) + - [1.1 图像分类与识别](#1.1) + - [1.2 文本类](#1.2) + - [1.3 推荐系统](#1.3) + - [1.4 人脸识别](#1.4) + - [1.5 目标检测](#1.5) + - [1.6 文字识别](#1.6) + - [1.7 图像分割](#1.7) + - [1.8 关键点检测](#1.8) + - [1.9 视频理解](#1.9) +- [模型示例库](#2) + Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例。 -**一.图像分类与识别**模型部署示例请参阅下表: + + +## 模型分类 + + + +**一.图像分类与识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 图像识别 |pp_shitu | PaddleClas | [C++ Serving](../examples/C++/PaddleClas/pp_shitu) | [.tar.gz](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/serving/pp_shitu.tar.gz) | @@ -22,7 +42,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 --- -**二.文本类**模型部署示例请参阅下表: + + +**二.文本类** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 文本生成 | bert_chinese_L-12_H-768_A-12 | PaddleNLP | [C++ Serving](../examples/C++/PaddleNLP/bert)
[Pipeline Serving](../examples/Pipeline/PaddleNLP/bert) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/text/SemanticModel/bert_chinese_L-12_H-768_A-12.tar.gz) | @@ -33,8 +57,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 抽取文本向量| In-batch Negatives | PaddleNLP | [Pipeline Serving](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/neural_search/recall/in_batch_negative) | [model](https://bj.bcebos.com/v1/paddlenlp/models/inbatch_model.zip) | --- + + +**三.推荐系统** -**三.推荐系统**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | CTR预估 | criteo_ctr | PaddleRec | [C++ Serving](../examples/C++/PaddleRec/criteo_ctr) | [.tar.gz](https://paddle-serving.bj.bcebos.com/criteo_ctr_example/criteo_ctr_demo_model.tar.gz) | @@ -42,15 +69,21 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 内容推荐 | wide&deep | PaddleRec | [C++ Serving](https://github.com/PaddlePaddle/PaddleRec/blob/release/2.1.0/doc/serving.md) | [model](https://github.com/PaddlePaddle/PaddleRec/blob/release/2.1.0/models/rank/wide_deep/README.md) | --- + -**四.人脸识别**模型部署示例请参阅下表: +**四.人脸识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 人脸识别|blazeface | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/blazeface) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ObjectDetection/blazeface.tar.gz) |C++ Serving| --- + + +**五.目标检测** -**五.目标检测**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 目标检测 |cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/cascade_rcnn) | [.tar.gz](https://paddle-serving.bj.bcebos.com/pddet_demo/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco_serving.tar.gz) | @@ -65,8 +98,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 目标检测 |YOLOv3-DarkNet | PaddleDetection | [C++ Serving](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/deploy/serving) | [.pdparams](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams)
[.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) | --- + -**六.文字识别**模型部署示例请参阅下表: +**六.文字识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 文字识别 |ocr_rec | PaddleOCR | [C++ Serving](../examples/C++/PaddleOCR/ocr)
[Pipeline Serving](../examples/Pipeline/PaddleOCR/ocr) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/OCR/ocr_rec.tar.gz) | @@ -79,27 +115,40 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 文字识别 |ch_ppocr_server_v2.0 | PaddleOCR | [Pipeline Serving](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/deploy/pdserving/README.md) | [model](https://github.com/PaddlePaddle/PaddleOCR) | --- + + +**七.图像分割** -**七.图像分割**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 图像分割 | deeplabv3 | PaddleSeg | [C++ Serving](../examples/C++/PaddleSeg/deeplabv3) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ImageSegmentation/deeplabv3.tar.gz) | | 图像分割 | unet | PaddleSeg | [C++ Serving](../examples/C++/PaddleSeg/unet_for_image_seg) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ImageSegmentation/unet.tar.gz) | --- + -**八.关键点检测**模型部署示例请参阅下表: +**八.关键点检测** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 关键点检测 |faster_rcnn_hrnetv2p_w18_1x | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/faster_rcnn_hrnetv2p_w18_1x) | [.tar.gz](https://paddle-serving.bj.bcebos.com/pddet_demo/faster_rcnn_hrnetv2p_w18_1x.tar.gz) | --- + + +**九.视频理解** -**九.视频理解**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 视频理解 |PPTSN_K400 | PaddleVideo | [Pipeline Serving](../examples/Pipeline/PaddleVideo/PPTSN_K400) | [model](https://paddle-serving.bj.bcebos.com/model/PaddleVideo/PPTSN_K400.tar) | +--- + + +## 模型示例库 Paddle Serving 代码库下模型部署示例请参考 [examples](../examples) 目录。更多 Paddle Serving 部署模型请参考 [wholechain](https://www.paddlepaddle.org.cn/wholechain)。