Skip to content

A flexible, high-performance carrier for machine learning models(『飞桨』服务化部署框架)

License

Notifications You must be signed in to change notification settings

XinyuDu/Serving

This branch is 2 commits behind PaddlePaddle/Serving:v0.9.0.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bdf4ada · Aug 18, 2022
Feb 9, 2020
May 24, 2022
May 18, 2022
Aug 15, 2022
Aug 18, 2022
May 18, 2022
May 18, 2022
May 18, 2022
May 18, 2022
Feb 22, 2020
Jan 6, 2020
Feb 17, 2020
Jul 4, 2019
Feb 27, 2019
Mar 10, 2020
Mar 9, 2022
Mar 6, 2019
May 25, 2022
May 23, 2022

Repository files navigation

(简体中文|English)




Build Status Docs Release Python License Forks Issues Contributors Community


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

  • 集成高性能服务端推理引擎 Paddle Inference 和端侧引擎 Paddle Lite,其他机器学习平台(Caffe/TensorFlow/ONNX/PyTorch)可通过 x2paddle 工具迁移模型
  • 具有高性能 C++ Serving 和高易用 Python Pipeline 2套框架。C++ Serving 基于高性能 bRPC 网络框架打造高吞吐、低延迟的推理服务,性能领先竞品。Python Pipeline 基于 gRPC/gRPC-Gateway 网络框架和 Python 语言构建高易用、高吞吐推理服务框架。技术选型参考技术选型
  • 支持 HTTP、gRPC、bRPC 等多种协议;提供 C++、Python、Java 语言 SDK
  • 设计并实现基于有向无环图(DAG) 的异步流水线高性能推理框架,具有多模型组合、异步调度、并发推理、动态批量、多卡多流推理、请求缓存等特性
  • 适配 x86(Intel) CPU、ARM CPU、Nvidia GPU、昆仑 XPU、华为昇腾310/910、海光 DCU、Nvidia Jetson 等多种硬件
  • 集成 Intel MKLDNN、Nvidia TensorRT 加速库,以及低精度量化推理
  • 提供一套模型安全部署解决方案,包括加密模型部署、鉴权校验、HTTPs 安全网关,并在实际项目中应用
  • 支持云端部署,提供百度云智能云 kubernetes 集群部署 Paddle Serving 案例
  • 提供丰富的经典模型部署示例,如 PaddleOCR、PaddleClas、PaddleDetection、PaddleSeg、PaddleNLP、PaddleRec 等套件,共计40+个预训练精品模型
  • 支持大规模稀疏参数索引模型分布式部署,具有多表、多分片、多副本、本地高频 cache 等特性、可单机或云端部署
  • 支持服务监控,提供基于普罗米修斯的性能数据统计及端口访问

教程与案例

论文

文档

部署

此章节引导您完成安装和部署步骤,强烈推荐使用Docker部署Paddle Serving,如您不使用docker,省略docker相关步骤。在云服务器上可以使用Kubernetes部署Paddle Serving。在异构硬件如ARM CPU、昆仑XPU上编译或使用Paddle Serving可阅读以下文档。每天编译生成develop分支的最新开发包供开发者使用。

使用

安装Paddle Serving后,使用快速开始将引导您运行Serving。具体步骤如下:

第一步,调用模型保存接口,生成模型参数配置文件(.prototxt)用以在客户端和服务端使用;

第二步,阅读配置和启动参数并启动服务;

第三步,根据API和您的使用场景,基于SDK编写客户端请求,并测试推理服务。您想了解跟多特性的使用场景和方法,请详细阅读以下文档。

开发者

为Paddle Serving开发者,提供自定义OP,变长数据处理。

模型库

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

图像分类与识别 NLP 推荐系统 人脸识别 目标检测 文字识别 图像分割 关键点检测 视频理解
14 6 3 1 10 8 2 1 1

更多模型示例进入模型库

社区

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

微信

  • 微信用户请扫码

QQ

  • 飞桨推理部署交流群(Group No.:697765514)

贡献代码

如果您想为Paddle Serving贡献代码,请参考 Contribution Guidelines(English)

  • 感谢 @w5688414 提供 NLP Ernie Indexing 案例
  • 感谢 @loveululu 提供 Cube python API
  • 感谢 @EtachGu 更新 docker 使用命令
  • 感谢 @BeyondYourself 提供grpc教程,更新FAQ教程,整理文件目录。
  • 感谢 @mcl-stone 提供faster rcnn benchmark脚本
  • 感谢 @cg82616424 提供unet benchmark脚本和修改部分注释错误
  • 感谢 @cuicheng01 提供PaddleClas的11个模型
  • 感谢 @Jiaqi Liu 新增list[str]类型输入的预测支持
  • 感谢 @Bin Lu 提供PP-Shitu C++模型示例

反馈

如有任何反馈或是bug,请在 GitHub Issue提交

License

Apache 2.0 License

About

A flexible, high-performance carrier for machine learning models(『飞桨』服务化部署框架)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 51.6%
  • Python 26.9%
  • Shell 8.0%
  • CMake 6.0%
  • Go 4.4%
  • Java 2.4%
  • Other 0.7%