diff --git a/doc/NEW_OPERATOR.md b/doc/NEW_OPERATOR.md index f839be94aaa2ae9993d935c0af69bcde33b9d66f..ab1ff42adea44eec26e84bd4356bc4313d420ce2 100644 --- a/doc/NEW_OPERATOR.md +++ b/doc/NEW_OPERATOR.md @@ -1,5 +1,7 @@ # How to write an general operator? +([简体中文](./NEW_OPERATOR_CN.md)|English) + In this document, we mainly focus on how to develop a new server side operator for PaddleServing. Before we start to write a new operator, let's look at some sample code to get the basic idea of writing a new operator for server. We assume you have known the basic computation logic on server side of PaddleServing, please reference to []() if you do not know much about it. The following code can be visited at `core/general-server/op` of Serving repo. ``` c++ diff --git a/doc/NEW_OPERATOR_CN.md b/doc/NEW_OPERATOR_CN.md index 5736e42725276cff118c94aa9721d8453ff8312f..d659b5f328cfbfc48ec7f3016037b12f34139b73 100644 --- a/doc/NEW_OPERATOR_CN.md +++ b/doc/NEW_OPERATOR_CN.md @@ -1,5 +1,7 @@ # 如何开发一个新的General Op? +(简体中文|[English](./NEW_OPERATOR.md)) + 在本文档中,我们主要集中于如何为Paddle Serving开发新的服务器端运算符。 在开始编写新运算符之前,让我们看一些示例代码以获得为服务器编写新运算符的基本思想。 我们假设您已经知道Paddle Serving服务器端的基本计算逻辑。 下面的代码您可以在 Serving代码库下的 `core/general-server/op` 目录查阅。 diff --git a/doc/README.md b/doc/README.md index 9e35c4429b3533f8d6241fb43c7eb143ad8a42dd..5c1fccc27446a58197c87a7372f3afde9a360508 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,5 +1,7 @@ # Paddle Serving +([简体中文](./README_CN.md)|English) + Paddle Serving is PaddlePaddle's online estimation service framework, which can help developers easily implement remote prediction services that call deep learning models from mobile and server ends. At present, Paddle Serving is mainly based on models that support PaddlePaddle training. It can be used in conjunction with the Paddle training framework to quickly deploy inference services. Paddle Serving is designed around common industrial-level deep learning model deployment scenarios. Some common functions include multi-model management, model hot loading, [Baidu-rpc](https://github.com/apache/incubator-brpc)-based high-concurrency low-latency response capabilities, and online model A/B tests. The API that cooperates with the Paddle training framework can enable users to seamlessly transition between training and remote deployment, improving the landing efficiency of deep learning models. ------------ diff --git a/doc/README_CN.md b/doc/README_CN.md index f8d42e6f1e72f1ac34939e5795df3e6604924bad..bc969a2d224fd2a6b4e9b2bf6c930afce37f8c59 100644 --- a/doc/README_CN.md +++ b/doc/README_CN.md @@ -1,5 +1,7 @@ # Paddle Serving +(简体中文|[English](./README.md)) + Paddle Serving是PaddlePaddle的在线预估服务框架,能够帮助开发者轻松实现从移动端、服务器端调用深度学习模型的远程预测服务。当前Paddle Serving以支持PaddlePaddle训练的模型为主,可以与Paddle训练框架联合使用,快速部署预估服务。Paddle Serving围绕常见的工业级深度学习模型部署场景进行设计,一些常见的功能包括多模型管理、模型热加载、基于[Baidu-rpc](https://github.com/apache/incubator-brpc)的高并发低延迟响应能力、在线模型A/B实验等。与Paddle训练框架互相配合的API可以使用户在训练与远程部署之间无缝过度,提升深度学习模型的落地效率。 ------------ @@ -105,13 +107,13 @@ for data in test_reader(): ### 文档 -[设计文档](doc/DESIGN.md) +[设计文档](DESIGN.md) -[FAQ](doc/FAQ.md) +[FAQ](FAQ.md) ### 资深开发者使用指南 [编译指南](doc/INSTALL.md) ## 贡献 -如果你想要给Paddle Serving做贡献,请参考[贡献指南](doc/CONTRIBUTE.md) +如果你想要给Paddle Serving做贡献,请参考[贡献指南](CONTRIBUTE.md) diff --git a/doc/SAVE.md b/doc/SAVE.md index 59464a4e7c1931291d4a21b8d9d802a07dd22ec6..c1e6b19a45c75a64207802984f52c734d44f8fc8 100644 --- a/doc/SAVE.md +++ b/doc/SAVE.md @@ -1,4 +1,7 @@ ## How to save a servable model of Paddle Serving? + +([简体中文](./SAVE_CN.md)|English) + - Currently, paddle serving provides a save_model interface for users to access, the interface is similar with `save_inference_model` of Paddle. ``` python import paddle_serving_client.io as serving_io diff --git a/doc/SAVE_CN.md b/doc/SAVE_CN.md index f5fcf8c0554eb171309632ce33233ecedc23510e..74c2d813f5714390742038d257c8ab945c4be053 100644 --- a/doc/SAVE_CN.md +++ b/doc/SAVE_CN.md @@ -1,5 +1,7 @@ ## 怎样保存用于Paddle Serving的模型? +(简体中文|[English](./SAVE.md)) + - 目前,Paddle服务提供了一个save_model接口供用户访问,该接口与Paddle的`save_inference_model`类似。 ``` python diff --git a/doc/SERVER_DAG.md b/doc/SERVER_DAG.md index fd15140f183dac1d414c6fffe8df250500db24b3..fdfcec948e3224ba53c4ab09d0551b3df205e8aa 100644 --- a/doc/SERVER_DAG.md +++ b/doc/SERVER_DAG.md @@ -1,5 +1,7 @@ # Computation Graph On Server +([简体中文](./SERVER_DAG_CN.md)|English) + This document shows the concept of computation graph on server. How to define computation graph with PaddleServing built-in operators. Examples for some sequential execution logics are shown as well. ## Computation Graph on Server diff --git a/doc/SERVER_DAG_CN.md b/doc/SERVER_DAG_CN.md new file mode 100644 index 0000000000000000000000000000000000000000..3bf42ef8e3fbcb8c509a69bfe6aea12f78dc4567 --- /dev/null +++ b/doc/SERVER_DAG_CN.md @@ -0,0 +1,58 @@ +# Server端的计算图 + +(简体中文|[English](./SERVER_DAG.md)) + +本文档显示了Server端上计算图的概念。 如何使用PaddleServing内置运算符定义计算图。 还显示了一些顺序执行逻辑的示例。 + +## Server端的计算图 + +深度神经网络通常在输入数据上有一些预处理步骤,而在模型推断分数上有一些后处理步骤。 由于深度学习框架现在非常灵活,因此可以在训练计算图之外进行预处理和后处理。 如果要在服务器端进行输入数据预处理和推理结果后处理,则必须在服务器上添加相应的计算逻辑。 此外,如果用户想在多个模型上使用相同的输入进行推理,则最好的方法是在仅提供一个客户端请求的情况下在服务器端同时进行推理,这样我们可以节省一些网络计算开销。 由于以上两个原因,自然而然地将有向无环图(DAG)视为服务器推理的主要计算方法。 DAG的一个示例如下: + +