GithubHelp home page GithubHelp logo

fuqiang2637 / serving Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paddlepaddle/serving

0.0 0.0 0.0 159.79 MB

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

License: Apache License 2.0

Shell 7.98% C++ 51.67% Python 26.93% PHP 0.16% Java 2.40% Go 4.37% Cuda 0.38% CMake 5.98% Roff 0.13%

serving's Introduction

(简体中文|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

serving's People

Contributors

mrxlt avatar bjjwwang avatar barrierye avatar guru4elephant avatar teslazhao avatar hextostring avatar felixhjh avatar shiningzhang avatar zhangjun avatar wangguibao avatar bohaowu avatar zhangyulongg avatar beyondyourself avatar wangxicoding avatar gongweibao avatar yangruihaha avatar dyning avatar badangel avatar gentelyang avatar suoych avatar intsigstephon avatar mycaster avatar cg82616424 avatar loveululu avatar liuchiachi avatar wispedia avatar mcl-stone avatar ldoublev avatar paddlepm avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.