README_CN.md 8.1 KB
Newer Older
M
MRXLT 已提交
1 2
(简体中文|[English](./README.md))

J
Jiawei Wang 已提交
3 4
<p align="center">
    <br>
5
<img src='doc/images/serving_logo.png' width = "600" height = "130">
J
Jiawei Wang 已提交
6 7
    <br>
<p>
8

J
Jiawei Wang 已提交
9 10 11
<p align="center">
    <br>
    <a href="https://travis-ci.com/PaddlePaddle/Serving">
12 13 14 15 16 17 18 19
        <img alt="Build Status" src="https://img.shields.io/travis/com/PaddlePaddle/Serving/develop?style=flat-square">
        <img alt="Docs" src="https://img.shields.io/badge/docs-中文文档-brightgreen?style=flat-square">
        <img alt="Release" src="https://img.shields.io/badge/release-0.7.0-blue?style=flat-square">
        <img alt="Python" src="https://img.shields.io/badge/python-3.6+-blue?style=flat-square">
        <img alt="License" src="https://img.shields.io/github/license/PaddlePaddle/Serving?color=blue&style=flat-square">
        <img alt="Forks" src="https://img.shields.io/github/forks/PaddlePaddle/Serving?color=yellow&style=flat-square">
        <img alt="Issues" src="https://img.shields.io/github/issues/PaddlePaddle/Serving?color=yellow&style=flat-square">
        <img alt="Contributors" src="https://img.shields.io/github/contributors/PaddlePaddle/Serving?color=orange&style=flat-square">
T
TeslaZhao 已提交
20
        <img alt="Community" src="https://img.shields.io/badge/join-Wechat,QQ-orange?style=flat-square">
J
Jiawei Wang 已提交
21 22 23
    </a>
    <br>
<p>
W
wangjiawei04 已提交
24

25
***
W
wangjiawei04 已提交
26

27
Paddle Serving依托深度学习框架PaddlePaddle旨在帮助深度学习开发者和企业提供高性能、灵活易用的工业级在线推理服务。Paddle Serving支持RESTful、gRPC、bRPC等多种协议,提供多种异构硬件和多种操作系统环境下推理解决方案,和多种经典预训练模型示例。核心特性如下:
W
wangjiawei04 已提交
28

29
- 集成高性能服务端推理引擎paddle Inference和移动端引擎paddle Lite,其他机器学习平台(Caffe/TensorFlow/ONNX/PyTorch)可通过[x2paddle](https://github.com/PaddlePaddle/X2Paddle)工具迁移模型
T
TeslaZhao 已提交
30
- 具有高性能C++和高易用Python 2套框架。C++框架基于高性能bRPC网络框架打造高吞吐、低延迟的推理服务,性能领先竞品。Python框架基于gRPC/gRPC-Gateway网络框架和Python语言构建高易用、高吞吐推理服务框架。技术选型参考[技术选型](doc/Serving_Design_CN.md#21-设计选型)
31 32 33 34 35 36 37
- 支持HTTP、gRPC、bRPC等多种[协议](doc/C++_Serving/Inference_Protocols_CN.md);提供C++、Python、Java语言SDK
- 设计并实现基于有向无环图(DAG)的异步流水线高性能推理框架,具有多模型组合、异步调度、并发推理、动态批量、多卡多流推理等特性
- 适配x86(Intel) CPU、ARM CPU、Nvidia GPU、昆仑XPU等多种硬件;集成Intel MKLDNN、Nvidia TensorRT加速库,以及低精度和量化推理
- 提供一套模型安全部署解决方案,包括加密模型部署、鉴权校验、HTTPs安全网关,并在实际项目中应用
- 支持云端部署,提供百度云智能云kubernetes集群部署Paddle Serving案例
- 提供丰富的经典预模型部署示例,如PaddleOCR、PaddleClas、PaddleDetection、PaddleSeg、PaddleNLP、PaddleRec等套件,共计40+个预训练精品模型,更多模型持续扩展
- 支持大规模稀疏参数索引模型分布式部署,具有多表、多分片、多副本、本地高频cache等特性、可单机或云端部署
W
wangjiawei04 已提交
38 39


40
<h2 align="center">教程</h2>
J
Jiawei Wang 已提交
41

42
- AIStudio教程-[Paddle Serving服务化部署框架](https://www.paddlepaddle.org.cn/tutorials/projectdetail/1975340)
W
wangjiawei04 已提交
43

44
- 视频教程-[深度学习服务化部署-以互联网应用为例](https://aistudio.baidu.com/aistudio/course/introduce/19084)
B
barrierye 已提交
45
<p align="center">
46
    <img src="doc/images/demo.gif" width="700">
B
barrierye 已提交
47
</p>
W
wangjiawei04 已提交
48

49
<h2 align="center">文档</h2>
B
barrierye 已提交
50

51 52
> 部署

T
TeslaZhao 已提交
53
此章节引导您完成安装和部署步骤,强烈推荐使用Docker部署Paddle Serving,如您不使用docker,省略docker相关步骤。在云服务器上可以使用Kubernetes部署Paddle Serving。在异构硬件如ARM CPU、昆仑XPU上编译或使用Paddle Serving可阅读以下文档。每天编译生成develop分支的最新开发包供开发者使用。
54 55
- [使用docker安装Paddle Serving](doc/Install_CN.md)
- [源码编译安装Paddle Serving](doc/Compile_CN.md)
56 57
- [在Kuberntes集群上部署Paddle Serving](doc/Run_On_Kubernetes_CN.md)
- [部署Paddle Serving安全网关](doc/Serving_Auth_Docker_CN.md)
58
- [在异构硬件部署Paddle Serving](doc/Run_On_XPU_CN.md)
T
TeslaZhao 已提交
59
- [最新Wheel开发包(develop分支每日更新)](doc/Latest_Packages_CN.md)
60 61 62 63 64

> 使用

安装Paddle Serving后,使用快速开始将引导您运行Serving。第一步,调用模型保存接口,生成模型参数配置文件(.prototxt)用以在客户端和服务端使用;第二步,阅读配置和启动参数并启动服务;第三步,根据API和您的使用场景,基于SDK编写客户端请求,并测试推理服务。您想了解跟多特性的使用场景和方法,请详细阅读以下文档。
- [快速开始](doc/Quick_Start_CN.md)
65
- [保存用于Paddle Serving的模型和配置](doc/Save_CN.md)
66
- [配置和启动参数的说明](doc/Serving_Configure_CN.md)
T
TeslaZhao 已提交
67
- [RESTful/gRPC/bRPC API指南](doc/C++_Serving/Introduction_CN.md#42-多语言多协议Client)
68 69 70 71 72 73 74 75 76
- [低精度推理](doc/Low_Precision_CN.md)
- [常见模型数据处理](doc/Process_data_CN.md)
- [C++ Serving简介](doc/C++_Serving/Introduction_CN.md) 
  - [协议](doc/C++_Serving/Inference_Protocols_CN.md)
  - [模型热加载](doc/C++_Serving/Hot_Loading_CN.md)
  - [A/B Test](doc/C++_Serving/ABTest_CN.md)
  - [加密模型推理服务](doc/C++_Serving/Encryption_CN.md)
  - [性能优化指南](doc/C++_Serving/Performance_Tuning_CN.md)
  - [性能指标](doc/C++_Serving/Benchmark_CN.md)
T
TeslaZhao 已提交
77
- [Python Pipeline设计](doc/Python_Pipeline/Pipeline_Design_CN.md)
T
TeslaZhao 已提交
78
  - [性能优化指南](doc/Python_Pipeline/Performance_Tuning_CN.md)
79 80
  - [性能指标](doc/Python_Pipeline/Benchmark_CN.md)
- 客户端SDK
T
TeslaZhao 已提交
81
  - [Python SDK](doc/C++_Serving/Introduction_CN.md#42-多语言多协议Client)
82
  - [JAVA SDK](doc/Java_SDK_CN.md)
T
TeslaZhao 已提交
83
  - [C++ SDK](doc/C++_Serving/Introduction_CN.md#42-多语言多协议Client)
84 85 86 87 88 89
- [大规模稀疏参数索引服务](doc/Cube_Local_CN.md)

> 开发者

为Paddle Serving开发者,提供自定义OP,变长数据处理。
- [自定义OP](doc/C++_Serving/OP_CN.md)
T
TeslaZhao 已提交
90
- [变长数据(LoD)处理](doc/LOD_CN.md)
91 92 93 94 95
- [常见问答](doc/FAQ_CN.md)

<h2 align="center">模型库</h2>

Paddle Serving与Paddle模型套件紧密配合,实现大量服务化部署,包括图像分类、物体检测、语言文本识别、中文词性、情感分析、内容推荐等多种类型示例,以及Paddle全链条项目,共计42个模型。
96 97

<p align="center">
98 99 100 101

| PaddleOCR | PaddleDetection | PaddleClas | PaddleSeg | PaddleRec | Paddle NLP | 
| :----:  | :----: | :----: | :----: | :----: | :----: | 
| 8 | 12 | 13 | 2 | 3 | 4 | 
J
Jiawei Wang 已提交
102

103
</p>
104

T
TeslaZhao 已提交
105
更多模型示例进入[模型库](doc/Model_Zoo_CN.md)
J
Jiawei Wang 已提交
106

107
<p align="center">
108 109
  <img src="https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/imgs_results/PP-OCRv2/PP-OCRv2-pic003.jpg?raw=true" width="345"/>
  <img src="doc/images/detection.png" width="350">
110
</p>
J
Jiawei Wang 已提交
111

112
<h2 align="center">社区</h2>
H
huangjianhui 已提交
113

J
Jiawei Wang 已提交
114

115
您想要同开发者和其他用户沟通吗?欢迎加入我们,通过如下方式加入社群
W
wangjiawei04 已提交
116

117 118
### 微信
- 微信用户请扫码
119 120

<p align="center">
121
  <img src="doc/images/wechat_group_1.jpeg" width="250">
122
</p>
123 124

### QQ
125
- 飞桨推理部署交流群(Group No.:697765514)
126 127

<p align="center">
128
  <img src="doc/images/qq_group_1.png" width="200">
129
</p>
W
wangjiawei04 已提交
130 131


132
> 贡献代码
W
wangjiawei04 已提交
133

T
TeslaZhao 已提交
134
如果您想为Paddle Serving贡献代码,请参考 [Contribution Guidelines(English)](doc/Contribute_EN.md)
135 136 137 138 139 140
- 感谢 [@loveululu](https://github.com/loveululu) 提供 Cube python API
- 感谢 [@EtachGu](https://github.com/EtachGu) 更新 docker 使用命令
- 感谢 [@BeyondYourself](https://github.com/BeyondYourself) 提供grpc教程,更新FAQ教程,整理文件目录。
- 感谢 [@mcl-stone](https://github.com/mcl-stone) 提供faster rcnn benchmark脚本
- 感谢 [@cg82616424](https://github.com/cg82616424) 提供unet benchmark脚本和修改部分注释错误
- 感谢 [@cuicheng01](https://github.com/cuicheng01) 提供PaddleClas的11个模型
J
Jiawei Wang 已提交
141

142
> 反馈
W
wangjiawei04 已提交
143

J
Jiawei Wang 已提交
144
如有任何反馈或是bug,请在 [GitHub Issue](https://github.com/PaddlePaddle/Serving/issues)提交
W
wangjiawei04 已提交
145

146
> License
W
wangjiawei04 已提交
147

J
Jiawei Wang 已提交
148
[Apache 2.0 License](https://github.com/PaddlePaddle/Serving/blob/develop/LICENSE)