未验证 提交 3d9b4628 编写于 作者: T Thomas Young 提交者: GitHub

Merge branch 'develop' into add_2_lod_and_padding_new

......@@ -258,7 +258,7 @@ make -j10
## Attached: CMake option description
| Compilation Options | Description | Default |
| :--------------: | :------------------------------- ---------: | :--: |
| :--------------: | :----------------------------------------: | :--: |
| WITH_AVX | Compile Paddle Serving with AVX intrinsics | OFF |
| WITH_MKL | Compile Paddle Serving with MKL support | OFF |
| WITH_GPU | Compile Paddle Serving with NVIDIA GPU | OFF |
......@@ -290,7 +290,7 @@ The things to note here are:
The following is the matching relationship between PaddleServing mirrored Cuda, Cudnn, and TensorRT for reference:
| | CUDA | CUDNN | TensorRT |
| Tag | CUDA | CUDNN | TensorRT |
| :----: | :-----: | :----------: | :----: |
| post101 | 10.1 | CUDNN 7.6.5 | 6.0.1 |
| post102 | 10.2 | CUDNN 8.0.5 | 7.1.3 |
......
......@@ -19,7 +19,7 @@
建立新目录,复制对应 Dockerfile 内容到该目录下 Dockerfile 文件。执行
```shell
docker build -f tools/${DOCKERFILE} -t <image-name>:<images-tag> .
docker build -f tools/${DOCKERFILE} -t registry.baidubce.com/paddlepaddle/serving:<images-tag> .
```
......@@ -28,6 +28,9 @@
若需要基于源代码二次开发编译,请使用后缀为-devel的版本。
**在TAG列,0.8.0也可以替换成对应的版本号,例如0.5.0/0.4.1等,但需要注意的是,部分开发环境随着某个版本迭代才增加,因此并非所有环境都有对应的版本号可以使用。**
**开发镜像:**
开发镜像中安装多种开发工具,可用于调试和编译代码,适配2种 GCC 版本和多种 CUDA 环境,但镜像体积较大。
| 镜像选择 | 操作系统 | TAG | Dockerfile |
| :----------------------------------------------------------: | :-----: | :--------------------------: | :----------------------------------------------------------: |
......@@ -38,6 +41,19 @@
| GPU (cuda10.2-cudnn8-tensorRT7) development | Ubuntu16 | 0.8.0-cuda10.2-cudnn8-devel | [Dockerfile.cuda10.2-cudnn8.devel](../tools/Dockerfile.cuda10.2-cudnn8.devel) |
| GPU (cuda11.2-cudnn8-tensorRT8) development | Ubuntu16 | 0.8.0-cuda11.2-cudnn8-devel | [Dockerfile.cuda11.2-cudnn8.devel](../tools/Dockerfile.cuda11.2-cudnn8.devel) |
**运行镜像:**
运行镜像比开发镜像更加轻量化, 运行镜像提供了serving的whl和bin,但为了运行期更小的镜像体积,没有提供诸如cmake这样但开发工具。 如果您想了解有关信息,请检查文档[在Kubernetes上使用Paddle Serving](./Run_On_Kubernetes_CN.md)
| Env | Version | Docker images tag | OS | Gcc Version | Size |
|----------|---------|------------------------------|-----------|-------------|------|
| CPU | 0.8.0 | 0.8.0-runtime | Ubuntu 16 | 8.2.0 | 3.9 GB |
| Cuda10.1 | 0.8.0 | 0.8.0-cuda10.1-cudnn7-runtime | Ubuntu 16 | 8.2.0 | 10 GB |
| Cuda10.2 | 0.8.0 | 0.8.0-cuda10.2-cudnn8-runtime | Ubuntu 16 | 8.2.0 | 10.1 GB |
| Cuda11.2 | 0.8.0 | 0.8.0-cuda11.2-cudnn8-runtime| Ubuntu 16 | 8.2.0 | 14.2 GB |
**Java镜像:**
```
registry.baidubce.com/paddlepaddle/serving:0.8.0-cuda10.2-java
......@@ -58,31 +74,4 @@ registry.baidubce.com/paddlepaddle/serving:xpu-x86 # for x86 xpu user
相关CUDA工具包版本、驱动版本和GPU架构的关系请参阅 [nvidia-docker wiki](https://github.com/NVIDIA/nvidia-docker/wiki/CUDA)
# (附录)所有镜像列表
开发镜像:
| Env | Version | Docker images tag | OS | Gcc Version |
|----------|---------|------------------------------|-----------|-------------|
| CPU | >=0.5.0 | 0.8.0-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | 0.4.0-devel | CentOS 7 | 4.8.5 |
| Cuda10.1 | >=0.5.0 | 0.8.0-cuda10.1-cudnn7-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | 0.4.0-cuda10.1-cudnn7-devel | CentOS 7 | 4.8.5 |
| Cuda10.2+Cudnn7 | >=0.5.0 | 0.8.0-cuda10.2-cudnn7-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
| Cuda10.2+Cudnn8 | >=0.5.0 | 0.8.0-cuda10.2-cudnn8-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
| Cuda11.2 | >=0.5.0 | 0.8.0-cuda11.2-cudnn8-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
运行镜像:
运行镜像比开发镜像更加轻量化, 运行镜像提供了serving的whl和bin,但为了运行期更小的镜像体积,没有提供诸如cmake这样但开发工具。 如果您想了解有关信息,请检查文档[在Kubernetes上使用Paddle Serving](./Run_On_Kubernetes_CN.md)
| Env | Version | Docker images tag | OS | Gcc Version | Size |
|----------|---------|------------------------------|-----------|-------------|------|
| CPU | 0.8.0 | 0.8.0-runtime | Ubuntu 16 | 8.2.0 | 3.9 GB |
| Cuda10.1 | 0.8.0 | 0.8.0-cuda10.1-cudnn7-runtime | Ubuntu 16 | 8.2.0 | 10 GB |
| Cuda10.2 | 0.8.0 | 0.8.0-cuda10.2-cudnn8-runtime | Ubuntu 16 | 8.2.0 | 10.1 GB |
| Cuda11.2 | 0.8.0 | 0.8.0-cuda11.2-cudnn8-runtime| Ubuntu 16 | 8.2.0 | 14.2 GB |
......@@ -19,7 +19,7 @@ You can get images in two ways:
Create a new folder and copy Dockerfile to this folder, and run the following command:
```shell
docker build -f tools/${DOCKERFILE} -t <image-name>:<images-tag> .
docker build -f tools/${DOCKERFILE} -t registry.baidubce.com/paddlepaddle/serving:<images-tag> .
```
......@@ -33,6 +33,10 @@ If you want to customize your Serving based on source code, use the version with
If you need to develop and compile based on the source code, please use the version with the suffix -devel.
**In the TAG column, 0.8.0 can also be replaced with the corresponding version number, such as 0.5.0/0.4.1, etc., but it should be noted that some development environments only increase with a certain version iteration, so not all environments All have the corresponding version number can be used.**
**Development Docker Images:**
A variety of development tools are installed in the development image, which can be used to debug and compile code, and adapt to two GCC versions and multiple CUDA environments, but the image size is large.
| Description | OS | TAG | Dockerfile |
| :----------------------------------------------------------: | :-----: | :--------------------------: | :----------------------------------------------------------: |
| CPU development | Ubuntu16 | 0.8.0-devel | [Dockerfile.devel](../tools/Dockerfile.devel) |
......@@ -42,12 +46,24 @@ If you need to develop and compile based on the source code, please use the vers
| GPU (cuda10.2-cudnn8-tensorRT7) development | Ubuntu16 | 0.8.0-cuda10.2-cudnn8-devel | [Dockerfile.cuda10.2-cudnn8.devel](../tools/Dockerfile.cuda10.2-cudnn8.devel) |
| GPU (cuda11.2-cudnn8-tensorRT8) development | Ubuntu16 | 0.8.0-cuda11.2-cudnn8-devel | [Dockerfile.cuda11.2-cudnn8.devel](../tools/Dockerfile.cuda11.2-cudnn8.devel) |
**Java Client:**
**Runtime Docker Images:**
Runtime Docker Images is lighter than Develop Images, and Running Images are made up with serving whl and bin, but without develop tools like cmake because of lower image size. If you want to know about it, plese check the document [Paddle Serving on Kubernetes](./Run_On_Kubernetes_CN.md).
| Env | Version | Docker images tag | OS | Gcc Version | Size |
|----------|---------|------------------------------|-----------|-------------|------|
| CPU | 0.8.0 | 0.8.0-runtime | Ubuntu 16 | 8.2.0 | 3.9 GB |
| Cuda10.1 | 0.8.0 | 0.8.0-cuda10.1-cudnn7-runtime | Ubuntu 16 | 8.2.0 | 10 GB |
| Cuda10.2 | 0.8.0 | 0.8.0-cuda10.2-cudnn8-runtime | Ubuntu 16 | 8.2.0 | 10.1 GB |
| Cuda11.2 | 0.8.0 | 0.8.0-cuda11.2-cudnn8-runtime| Ubuntu 16 | 8.2.0 | 14.2 GB |
**Java SDK Docker Image:**
```
registry.baidubce.com/paddlepaddle/serving:0.8.0-cuda10.2-java
```
**XPU:**
**XPU Docker Images:**
```
registry.baidubce.com/paddlepaddle/serving:xpu-arm # for arm xpu user
registry.baidubce.com/paddlepaddle/serving:xpu-x86 # for x86 xpu user
......@@ -61,31 +77,3 @@ The machine running the CUDA container **only requires the NVIDIA driver**, the
For the relationship between CUDA toolkit version, Driver version and GPU architecture, please refer to [nvidia-docker wiki](https://github.com/NVIDIA/nvidia-docker/wiki/CUDA).
# (Attachment) The List of All the Docker images
Develop Images:
| Env | Version | Docker images tag | OS | Gcc Version |
|----------|---------|------------------------------|-----------|-------------|
| CPU | >=0.5.0 | 0.8.0-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | 0.4.0-devel | CentOS 7 | 4.8.5 |
| Cuda10.1 | >=0.5.0 | 0.8.0-cuda10.1-cudnn7-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | 0.4.0-cuda10.1-cudnn7-devel | CentOS 7 | 4.8.5 |
| Cuda10.2+Cudnn7 | >=0.5.0 | 0.8.0-cuda10.2-cudnn7-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
| Cuda10.2+Cudnn8 | >=0.5.0 | 0.8.0-cuda10.2-cudnn8-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
| Cuda11.2 | >=0.5.0 | 0.8.0-cuda11.2-cudnn8-devel | Ubuntu 16 | 8.2.0 |
| | <=0.4.0 | Nan | Nan | Nan |
Running Images:
Running Images is lighter than Develop Images, and Running Images are made up with serving whl and bin, but without develop tools like cmake because of lower image size. If you want to know about it, plese check the document [Paddle Serving on Kubernetes](./Run_On_Kubernetes_CN.md).
| Env | Version | Docker images tag | OS | Gcc Version | Size |
|----------|---------|------------------------------|-----------|-------------|------|
| CPU | 0.8.0 | 0.8.0-runtime | Ubuntu 16 | 8.2.0 | 3.9 GB |
| Cuda10.1 | 0.8.0 | 0.8.0-cuda10.1-cudnn7-runtime | Ubuntu 16 | 8.2.0 | 10 GB |
| Cuda10.2 | 0.8.0 | 0.8.0-cuda10.2-cudnn8-runtime | Ubuntu 16 | 8.2.0 | 10.1 GB |
| Cuda11.2 | 0.8.0 | 0.8.0-cuda11.2-cudnn8-runtime| Ubuntu 16 | 8.2.0 | 14.2 GB |
......@@ -60,9 +60,9 @@ pip3 install -r python/requirements.txt
```
安装服务whl包,共有3种client、app、server,Server分为CPU和GPU,GPU包根据您的环境选择一种安装
- post102 = CUDA10.2 + Cudnn7 + TensorRT6(推荐)
- post101 = CUDA10.1 + TensorRT6
- post112 = CUDA11.2 + TensorRT8
- post102 = CUDA10.2 + cuDNN7 + TensorRT6(推荐)
- post101 = CUDA10.1 + cuDNN7 + TensorRT6
- post112 = CUDA11.2 + cuDNN8 + TensorRT8
```shell
pip3 install paddle-serving-client==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
......
......@@ -61,7 +61,10 @@ pip3 install -r python/requirements.txt
```
Install the service whl package. There are three types of client, app and server. The server is divided into CPU and GPU. Choose one installation according to the environment.
- GPU with CUDA10.2 + Cudnn7 + TensorRT6(Recommended)
- post102 = CUDA10.2 + cuDNN7 + TensorRT6(Recommended)
- post101 = CUDA10.1 + cuDNN7 + TensorRT6
- post112 = CUDA11.2 + cuDNN8 + TensorRT8
```shell
pip3 install paddle-serving-client==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install paddle-serving-app==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
......@@ -128,4 +131,4 @@ When the above steps are completed, you can use the command line to run the envi
```
python3 -m paddle_serving_server.serve check
```
For more information, please see[Installation Check](./Check_Env_CN.md)
\ No newline at end of file
For more information, please see[Installation Check](./Check_Env_CN.md)
......@@ -6,7 +6,7 @@ Paddle Serving 是飞桨官方推荐的服务化部署框架,围绕 AI 落地
- 支持深度学习平台:支持 Paddle 框架训练模型,其他机器学习平台(Caffe、TensorFlow、ONNX、PyTorch)可通过 x2paddle 工具迁移模型。
- 支持多种网络协议:HTTP、gRPC、bRPC等多种协议。
- 支持多种语言 SDK:C++、Python、Java。
- 适配多种计算硬件:x86(Intel) CPU、ARM CPU、Nvidia GPU、昆仑 XPU、华为昇腾 310/910、海光 DCU、Nvidia Jetson等多种硬件。
- 适配多种计算硬件:x86(Intel) CPU、ARM CPU、Nvidia GPU、昆仑 XPU、华为昇腾 310/910、海光 DCU、Nvidia Jetson 等多种硬件。
- 部署平台:支持 Docker 和 Kubernetes 云端部署,提供多种环境的 Docker 开发镜像和云端部署案例。
- 具有高性能设计:基于有向无环图(DAG)的异步流水线构建高性能服务化推理框架,具有多模型组合、异步调度、并发推理、动态批量和多卡多流等设计。
- 提供模型安全部署解决方案:加密模型部署、鉴权校验、HTTPs 安全网关,并在实际项目中应用。
......@@ -17,42 +17,42 @@ Paddle Serving 是飞桨官方推荐的服务化部署框架,围绕 AI 落地
**一.环境安装**
根据计算硬件、操作系统和软件驱动版本等环境差异,要选择正确的安装程序。提供多种系统环境安装、PIP 程序安装和源码编译安装三种方案,安装完成后可使用环境检查命令验证。
根据计算硬件、操作系统和软件驱动版本等环境差异,要选择正确的安装程序。提供多种系统环境安装、pip 程序安装和源码编译安装三种方案,安装完成后可使用环境检查命令验证。
#### 1.标准环境安装方案,请参考[标准环境安装]()
#### 2.使用 PIP 安装,请参考[使用 PIP 安装]()
#### 3.源码编译安装,请参考[源码编译]()
#### 4.安装环境检查,请参考[环境检查]()
#### 1.标准环境安装方案,请参考 [标准环境安装]()
#### 2.使用 pip 安装,请参考 [使用 pip 安装]()
#### 3.源码编译安装,请参考 [源码编译]()
#### 4.安装环境检查,请参考 [环境检查]()
**二.快速开发**
环境安装完成后,参考二种模型开发示例快速开发程序,更多模型示例请参考[模型库]()。
环境安装完成后,参考二种模型开发示例快速开发程序,更多模型示例请参考 [模型库]()。
#### 1.基于 C++ Serving 的单模型 Resnet_v2_50 部署示例,请参考[Resnet_v2_50]()
#### 2.基于 Python Pipeline 多模型组合 OCR_v2 部署示例,请参考[OCR]()
**三.服务部署**
经过开发和测试后,程序要在服务器上部署,Paddle Serving 提供基于Kubernetes集群部署案例,请参考[Kubernetes集群部署]()
经过开发和测试后,程序要在服务器上部署,Paddle Serving 提供基于 Kubernetes 集群部署案例,请参考 [Kubernetes 集群部署]()
多个服务入口安全网关部署,请参考[安全网关]()
多个服务入口安全网关部署,请参考 [安全网关]()
## 功能说明
**一.基础功能**
本章节系统介绍 Paddle Serving 提供的基础功能,每种功能的使用方法和功能选项,详情请参考[基础功能]()
本章节系统介绍 Paddle Serving 提供的基础功能,每种功能的使用方法和功能选项,详情请参考 [基础功能]()
**二.进阶 C++ Serving**
本章节详细介绍 C++ Serving 的多种高级功能特性,以及设计方案、使用方法和性能调优等,详情请参考[进阶 C++ Serving]()
本章节详细介绍 C++ Serving 的多种高级功能特性,以及设计方案、使用方法和性能调优等,详情请参考 [进阶 C++ Serving]()
**三.进阶 Python Pipeline**
本章节详细介绍 Python Pipeline 的多种高级功能特性,以及设计方案、使用方法和性能调优等,详情请参考[进阶 Python Pipeline]()
本章节详细介绍 Python Pipeline 的多种高级功能特性,以及设计方案、使用方法和性能调优等,详情请参考 [进阶 Python Pipeline]()
**四.大规模稀疏参数索引服务**
本章节介绍稀疏参数索引场景,如推荐、广告系统中大规模 Embedding 查询的设计与使用方案,详情请参考[大规模稀疏参数索引服务]()
本章节介绍稀疏参数索引场景,如推荐、广告系统中大规模 Embedding 查询的设计与使用方案,详情请参考 [大规模稀疏参数索引服务]()
......@@ -3,7 +3,7 @@
## 安装说明
本说明将指导您在64位操作系统编译和安装 PaddleServing。
**强烈建议**您在**Docker 内构建** Paddle Serving,更多镜像请查看[Docker镜像列表](Docker_Images_CN.md)
**强烈建议**您在 **Docker 内构建** Paddle Serving,更多镜像请查看 [Docker镜像列表](Docker_Images_CN.md)
**一. Python 和 pip 版本:**
......@@ -91,7 +91,7 @@
# GPU CUDA 10.2环境请执行
pip3 install paddlepaddle-gpu==2.2.2
```
**注意**: 如果您的 Cuda 版本不是10.2,或者您需要在 GPU 环境上使用 TensorRT,请勿直接执行上述命令,需要参考[Paddle-Inference官方文档-下载安装Linux预测库](https://paddleinference.paddlepaddle.org.cn/master/user_guides/download_lib.html#python)选择相应的 GPU 环境的 url 链接并进行安装。
**注意**: 如果您的 CUDA 版本不是10.2,或者您需要在 GPU 环境上使用 TensorRT,请勿直接执行上述命令,需要参考[Paddle-Inference官方文档-下载安装Linux预测库](https://paddleinference.paddlepaddle.org.cn/master/user_guides/download_lib.html#python)选择相应的 GPU 环境的 url 链接并进行安装。
7. 安装完成后的环境检查
当以上步骤均完成后可使用命令行运行环境检查功能,自动运行 Paddle Serving 相关示例,进行环境相关配置校验。
......@@ -102,10 +102,8 @@
8. 更多帮助信息请参考:
**第二种安装方式:使用源代码编译安装**
- 如果您只是使用 PaddleServing ,建议使用 **pip** 安装即可。
- 如果您有开发 PaddleServing 的需求,请参考:[从源码编译]
\ No newline at end of file
- 如果您有开发 PaddleServing 的需求,请参考 [从源码编译]()
\ No newline at end of file
doc/images/wechat_group_1.jpeg

120.4 KB | W: | H:

doc/images/wechat_group_1.jpeg

118.0 KB | W: | H:

doc/images/wechat_group_1.jpeg
doc/images/wechat_group_1.jpeg
doc/images/wechat_group_1.jpeg
doc/images/wechat_group_1.jpeg
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册