Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Serving
提交
1471144c
S
Serving
项目概览
PaddlePaddle
/
Serving
大约 1 年 前同步成功
通知
186
Star
833
Fork
253
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
105
列表
看板
标记
里程碑
合并请求
10
Wiki
2
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Serving
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
105
Issue
105
列表
看板
标记
里程碑
合并请求
10
合并请求
10
Pages
分析
分析
仓库分析
DevOps
Wiki
2
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
1471144c
编写于
3月 30, 2020
作者:
J
Jiawei Wang
提交者:
GitHub
3月 30, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README_CN.md
上级
89b38355
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
125 addition
and
14 deletion
+125
-14
README_CN.md
README_CN.md
+125
-14
未找到文件。
README_CN.md
浏览文件 @
1471144c
...
...
@@ -38,12 +38,42 @@ wget --no-check-certificate https://paddle-serving.bj.bcebos.com/uci_housing.tar
tar
-xzf
uci_housing.tar.gz
```
Paddle Serving provides HTTP and RPC based service for users to access
Paddle Serving 提供了 HTTP 和 RPC 的
Paddle Serving 为用户提供了基于 HTTP 和 RPC 的服务
Python客户端请求
### HTTP服务
Paddle Serving提供了一个名为
`paddle_serving_server.serve`
的内置python模块,可以使用单行命令启动RPC服务或HTTP服务。如果我们指定参数
`--name uci`
,则意味着我们将拥有一个HTTP服务,其URL为$IP:$PORT/uci/prediction
`。
``` shell
python -m paddle_serving_server.serve --model uci_housing_model --thread 10 --port 9292 --name uci
```
<center>
| Argument | Type | Default | Description |
|--------------|------|-----------|--------------------------------|
| `
thread
` | int | `
4
` | Concurrency of current service |
| `
port
` | int | `
9292
` | Exposed port of current service to users|
| `
name
` | str | `
""
` | Service name, can be used to generate HTTP request url |
| `
model
` | str | `
""
` | Path of paddle model directory to be served |
我们使用 `
curl
` 命令来发送HTTP POST请求给刚刚启动的服务。用户也可以调用python库来发送HTTP POST请求,请参考英文文档 [requests](https://requests.readthedocs.io/en/master/)。
</center>
``` shell
curl -H "Content-Type:application/json" -X POST -d '{"x": [0.0137, -0.1136, 0.2553, -0.0692, 0.0582, -0.0727, -0.1583, -0.0584, 0.6283, 0.4919, 0.1856, 0.0795, -0.0332], "fetch":["price"]}' http://127.0.0.1:9292/uci/prediction
```
### RPC service
用户还可以使用`
paddle_serving_server.serve
`启动rpc服务。 尽管用户需要基于Paddle Serving的python客户端API进行一些开发,但是RPC服务通常比HTTP服务更快。需要指出的是这里我们没有指定`
--name
`。
``` shell
python -m paddle_serving_server.serve --model uci_housing_model --thread 10 --port 9292
```
``` python
# A user can visit rpc service through paddle_serving_client API
from paddle_serving_client import Client
client = Client()
...
...
@@ -55,24 +85,105 @@ fetch_map = client.predict(feed={"x": data}, fetch=["price"])
print(fetch_map)
```
在这里,`
client.predict
`函数具有两个参数。 `
feed
`是带有模型输入变量别名和值的`
python dict
`。 `
fetch
`被要从服务器返回的预测变量赋值。 在该示例中,在训练过程中保存可服务模型时,被赋值的tensor名为`
"x"
`和`
"price"
`。
<h2 align="center">Paddle Serving预装的服务</h2>
<h3 align="center">中文分词模型</h4>
- **介绍**:
``` shell
本示例为中文分词HTTP服务一键部署
```
- **下载服务包**:
``` shell
wget --no-check-certificate https://paddle-serving.bj.bcebos.com/lac/lac_model_jieba_web.tar.gz
```
- **启动web服务**:
``` shell
tar -xzf lac_model_jieba_web.tar.gz
python lac_web_service.py jieba_server_model/ lac_workdir 9292
```
- **客户端请求示例**:
``` shell
curl -H "Content-Type:application/json" -X POST -d '{"words": "我爱北京天安门", "fetch":["word_seg"]}' http://127.0.0.1:9292/lac/prediction
```
- **返回结果示例**:
``` shell
{"word_seg":"我|爱|北京|天安门"},如未安装字符集则返回 {"word_seg":"\u6211|\u7231|\u5317\u4eac|\u5929\u5b89\u95e8"}
```
<h3 align="center">图像分类模型</h4>
- **介绍**:
``` shell
图像分类模型由Imagenet数据集训练而成,该服务会返回一个标签及其概率
```
- **下载服务包**:
``` shell
wget --no-check-certificate https://paddle-serving.bj.bcebos.com/imagenet-example/imagenet_demo.tar.gz
```
- **启动web服务**:
``` shell
tar -xzf imagenet_demo.tar.gz
python image_classification_service_demo.py resnet50_serving_model
```
- **客户端请求示例**:
<p align="center">
<br>
<img src='https://paddle-serving.bj.bcebos.com/imagenet-example/daisy.jpg' width = "200" height = "200">
<br>
<p>
``` shell
curl -H "Content-Type:application/json" -X POST -d '{"url": "https://paddle-serving.bj.bcebos.com/imagenet-example/daisy.jpg", "fetch": ["score"]}' http://127.0.0.1:9292/image/prediction
```
- **返回结果示例**:
``` shell
{"label":"daisy","prob":0.9341403245925903}
``
`
<h2
align=
"center"
>
文档
</h2>
### 新手教程
-
[
怎样保存用于Paddle Serving的模型?
](
doc/SAVE_CN.md
)
-
[
端到端完成从训练到部署全流程
](
doc/TRAIN_TO_SERVICE_CN.md
)
-
[
十分钟构建Bert-As-Service
](
doc/BERT_10_MINS_CN.md
)
### 开发者教程
-
[
如何配置Server端的计算图?
](
doc/SERVER_DAG_CN.md
)
-
[
如何开发一个新的General Op?
](
doc/NEW_OPERATOR_CN.md
)
-
[
如何在Paddle Serving使用Go Client?
](
doc/IMDB_GO_CLIENT_CN.md
)
-
[
如何编译PaddleServing
](
doc/COMPILE_CN.md
)
### 关于Paddle Serving性能
-
[
如何测试Paddle Serving性能?
](
https://github.com/PaddlePaddle/Serving/tree/develop/python/examples/util
)
-
[
CPU版Benchmarks
](
doc/BENCHMARKING.md
)
-
[
GPU版Benchmarks
](
doc/GPU_BENCHMARKING.md
)
### FAQ
-
[
常见问答
](
doc/deprecated/FAQ.md
)
## 文档
### 设计文档
-
[
Paddle Serving设计文档
](
doc/DESIGN_DOC_CN.md
)
[
开发文档
](
doc/DESIGN.md
)
<h2
align=
"center"
>
社区
</h2>
[
如何在服务器端配置本地Op?
](
doc/SERVER_DAG.md
)
### Slack
[
如何开发一个新的Op?
](
doc/NEW_OPERATOR.md
)
想要同开发者和其他用户沟通吗?欢迎加入我们的
[
Slack channel
](
https://paddleserving.slack.com/archives/CUBPKHKMJ
)
[
Golang 客户端
](
doc/IMDB_GO_CLIENT.md
)
### 贡献代码
[
从源码编译
](
doc/COMPIL
E.md
)
如果您想为Paddle Serving贡献代码,请参考
[
Contribution Guidelines
](
doc/CONTRIBUT
E.md
)
[
常见问答
](
doc/FAQ.md
)
### 反馈
## 加入社区
如果您想要联系其他用户和开发者,欢迎加入我们的
[
Slack channel
](
https://paddleserving.slack.com/archives/CUBPKHKMJ
)
如有任何反馈或是bug,请在
[
GitHub Issue
](
https://github.com/PaddlePaddle/Serving/issues
)
提交
##
如何贡献代码
##
# License
如果您想要贡献代码给Paddle Serving,请参考
[
Contribution Guidelines
](
doc/CONTRIBUTE.md
)
[
Apache 2.0 License
](
https://github.com/PaddlePaddle/Serving/blob/develop/LICENSE
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录