Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
models
提交
2f896357
M
models
项目概览
PaddlePaddle
/
models
大约 1 年 前同步成功
通知
222
Star
6828
Fork
2962
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
602
列表
看板
标记
里程碑
合并请求
255
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
models
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
602
Issue
602
列表
看板
标记
里程碑
合并请求
255
合并请求
255
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
2f896357
编写于
12月 10, 2021
作者:
littletomatodonkey
提交者:
GitHub
12月 10, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix name (#5416)
* fix name * fix log
上级
ea7c2553
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
22 deletion
+32
-22
docs/tipc/serving/README.md
docs/tipc/serving/README.md
+3
-3
docs/tipc/serving/serving.md
docs/tipc/serving/serving.md
+25
-15
docs/tipc/serving/test_serving.md
docs/tipc/serving/test_serving.md
+4
-4
未找到文件。
docs/tipc/serving/README.md
浏览文件 @
2f896357
...
...
@@ -18,7 +18,7 @@
(1)参考
[
《Linux GPU/CPU 基础训练推理开发文档》
](
../train_infer_python/README.md
)
,完成模型的训练和基于Paddle Inference的模型推理开发。
(2)参考
[
《Linux GPU/CPU 服务化部署功能开发文档》
](
./seving.md
)
,在Paddle Inference的模型推理基础上,完成服务化部署能力的开发。
(2)参考
[
《Linux GPU/CPU 服务化部署功能开发文档》
](
./se
r
ving.md
)
,在Paddle Inference的模型推理基础上,完成服务化部署能力的开发。
(3) 参考
[
《Linux GPU/CPU 服务化部署测试开发文档》
](
./test_serving.md
)
,完成 TIPC 服务化部署测试开发。
...
...
@@ -55,7 +55,7 @@
#### 2.2.3 说明文档
*
参考
[
AlexNet Serving部署文档
](
https://github.com/littletomatodonkey/AlexNet-Prod/blob/tipc/pipeline/Step5/AlexNet_paddle/deploy/serving
/README.md
)
。
*
参考
[
AlexNet Serving部署文档
](
https://github.com/littletomatodonkey/AlexNet-Prod/blob/tipc/pipeline/Step5/AlexNet_paddle/deploy/serving
)
。
*
文档中给出服务化部署的数据、环境准备、启动服务、访问服务的具体命令说明。
...
...
@@ -99,4 +99,4 @@ test_tipc
*
`test_tipc/README.md`
文档中对该模型支持的的部署功能进行总体介绍。
*
`test_tipc/docs/test_serving.md`
文档中对
**Linux GPU/CPU Serving部署**
的功能支持情况进行介绍。
*
根据测试文档,基于配置文件,跑通Serving部署测试过程。
*
根据测试文档,基于配置文件,跑通Serving部署测试过程
,在文档中记录
`运行成功的输出日志`
。
docs/tipc/serving/seving.md
→
docs/tipc/serving/se
r
ving.md
浏览文件 @
2f896357
...
...
@@ -69,7 +69,7 @@ Paddle Serving Server更多不同运行环境的whl包下载地址,请参考
【基本流程】
为了便于模型服务化部署,需要将jit.save保存的静态图模型(具体参考
[
《Linux GPU/CPU 基础训练推理开发文档》
](
待补充
)
中2.2章节)
使用paddle_serving_client.convert按如下命令转换为服务化部署模型:
为了便于模型服务化部署,需要将jit.save保存的静态图模型(具体参考
[
《Linux GPU/CPU 基础训练推理开发文档》
](
../train_infer_python/README.md
)
使用paddle_serving_client.convert按如下命令转换为服务化部署模型:
```
python3 -m paddle_serving_client.convert --dirname {静态图模型路径} --model_filename {模型结构文件} --params_filename {模型参数文件} --serving_server {转换后的服务器端模型和配置文件存储路径} --serving_client {转换后的客户端模型和配置文件存储路径}
...
...
@@ -78,16 +78,22 @@ python3 -m paddle_serving_client.convert --dirname {静态图模型路径} --mod
【实战】
针对AlexNet网络,将静态图模型([
模型下载地址,待补充]
)转换为服务化部署模型的示例命令如下,转换完后在本地生成serving_server和serving_client两个文件夹。本教程后续主要使用serving_server文件夹中的模型。
针对AlexNet网络,将静态图模型(
[
下载地址
](
https://paddle-model-ecology.bj.bcebos.com/model/alexnet_reprod/alexnet_infer.tar
)
)转换为服务化部署模型的示例命令如下,转换完后在本地生成serving_server和serving_client两个文件夹。本教程后续主要使用serving_server文件夹中的模型。
```
python
python3
-
m
paddle_serving_client
.
convert
--
dirname
.
/
alexnet_infer
/
--
model_filename
inference
.
pdmodel
--
params_filename
inference
.
pdiparams
--
serving_server
serving_server
--
serving_client
serving_client
python3
-
m
paddle_serving_client
.
convert
\
--
dirname
.
/
alexnet_infer
/
\
--
model_filename
inference
.
pdmodel
\
--
params_filename
inference
.
pdiparams
\
--
serving_server
serving_server
\
--
serving_client
serving_client
```
<a
name=
"23---"
></a>
### 2.3 复制部署样例程序
【基本流程】
**【基本流程】**
服务化部署的样例程序的目录地址为:"template/code/"
...
...
@@ -99,20 +105,20 @@ python3 -m paddle_serving_client.convert --dirname ./alexnet_infer/ --model_file
-
pipeline_http_client.py:用于客户端访问服务的程序,开发者需要设置url(服务地址)、logid(日志ID)和测试图像。
【实战】
**【实战】**
如果服务化部署AlexNet网络,需要拷贝上述三个文件到运行目录,建议在
`$repo_name/deploy/serving`
目录下。
<a
name=
"24---"
></a>
### 2.4 初始化部署引擎
【基本流程】
**【基本流程】**
针对模型名称,修改web_service.py中类TIPCExampleService、TIPCExampleOp的名称,以及这些类初始化中任务名称name,同时通过uci_service.prepare_pipeline_config设置配置参数。
同时修改服务配置文件中的配置:OP名称,http_port(服务的http端口),model_config(服务化部署模型的路径),device_type(计算硬件类型),devices(计算硬件ID)
【实战】
**【实战】**
针对AlexNet网络,(1)修改web_service.py文件后的代码如下:
...
...
@@ -148,9 +154,10 @@ uci_service.run_service()
-
devices:使用默认配置"0",0号卡预测
<a
name=
"25---"
></a>
### 2.5 开发数据预处理程序
【基本流程】
**【基本流程】**
web_service.py文件中的TIPCExampleOp类的preprocess函数用于开发数据预处理程序,包含输入、处理流程和输出三部分。
...
...
@@ -169,7 +176,7 @@ web_service.py文件中的TIPCExampleOp类的preprocess函数用于开发数据
```
上述网络输入字典的key可以通过服务化模型配置文件serving_server/serving_server_conf.prototxt中的feed_var字典的name字段获取。
【实战】
**【实战】**
针对AlexNet网络的数据预处理开发,需要将[Paddle Inference中的preprocess_ops.py, 待补充文件路径] 复制到Paddle Serving的目录下,修改alex_web_service.py文件中代码如下:
...
...
@@ -228,9 +235,10 @@ result, None, ""
针对AlexNet网络的预测结果后处理开发,修改web_service.py文件中AlexNetOp中的postprocess函数相关代码如下:
```
```
py
def
postprocess
(
self
,
input_dicts
,
fetch_dict
,
data_id
,
log_id
):
score_list = fetch_dict["save_infer_model/scale_0.tmp_1"]
# 取输出结果
score_list
=
list
(
fetch_dict
.
values
())[
0
]
result
=
{
"class_id"
:
[],
"prob"
:
[]}
for
score
in
score_list
:
score
=
score
.
flatten
()
...
...
@@ -244,9 +252,10 @@ result, None, ""
```
<a
name=
"27---"
></a>
### 2.7 启动模型预测服务
【基本流程】
**【基本流程】**
当完成服务化部署引擎初始化、数据预处理和预测结果后处理开发,则可以按如下命令启动模型预测服务:
...
...
@@ -254,20 +263,21 @@ result, None, ""
python3 web_service.py &
```
【实战】
**【实战】**
针对AlexNet网络, 启动成功的界面如下:
![](
./images/serving_startup_visualization.jpg
)
<a
name=
"28---"
></a>
### 2.8 开发客户端访问服务的程序
【基本流程】
**【基本流程】**
当成功启动了模型预测服务,可以修改pipeline_http_client.py程序,访问该服务。主要设置url(服务地址)、logid(日志ID)和测试图像。其中服务地址的url的样式为 "http://127.0.0.1:18080/tipc_example/prediction" ,url的设置需要将url中的tipc_example更新为TIPCExampleService类初始化的name。
【实战】
**【实战】**
针对AlexNet网络, 修改pipeline_http_client.py程序中的url(服务地址)、logid(日志ID)和测试图像地址,其中url改为:
...
...
docs/tipc/serving/test_serving.md
浏览文件 @
2f896357
...
...
@@ -22,7 +22,7 @@
(1)参考
[
《Linux GPU/CPU 基础训练推理开发文档》
](
../train_infer_python/README.md
)
,完成模型的训练和基于Paddle Inference的模型推理开发。
(2)参考
[
《Linux GPU/CPU 服务化部署功能开发文档》
](
./seving.md
)
,在Paddle Inference的模型推理基础上,完成服务化部署能力的开发。
(2)参考
[
《Linux GPU/CPU 服务化部署功能开发文档》
](
./se
r
ving.md
)
,在Paddle Inference的模型推理基础上,完成服务化部署能力的开发。
(3)完成 TIPC 服务化部署测试开发(
**本文档**
)。
...
...
@@ -169,7 +169,7 @@ Serving服务化部署主要分为以下5个步骤。
*
数据集:为方便快速验证服务化部署过程,需要准备至少1张图像用于测试,可以放在repo中。
*
环境:可以参考
[
Linux GPU/CPU 服务化部署功能开发规范
](
./seving.md
)
完成Serving部署环境的准备。
*
环境:可以参考
[
Linux GPU/CPU 服务化部署功能开发规范
](
./se
r
ving.md
)
完成Serving部署环境的准备。
<a
name=
"=3.2"
></a>
...
...
@@ -230,13 +230,13 @@ AlexNet中验证配置正确性的脚本:[AlexNet Serving 部署功能测试](
**【基本内容】**
*
补充TIPC首页文档,补充更多部署方式。
*
撰写测试流程说明文档,
模板可以参考
:
[
./template/test/test_serving.md
](
./template/test/test_serving.md
)
。
*
撰写测试流程说明文档,
说明文档模板为
:
[
./template/test/test_serving.md
](
./template/test/test_serving.md
)
。
可以直接拷贝到自己的repo中,根据自己的模型进行修改。
**【实战】**
AlexNet中
`test_tipc`
文档如下所示。
参考上面基本内容,具体地,以AlexNet为例,
`test_tipc`
文档如下所示。
1.
TIPC功能总览文档:https://github.com/littletomatodonkey/AlexNet-Prod/blob/tipc/pipeline/Step5/AlexNet_paddle/test_tipc/README.md
2.
Linux GPU/CPU 基础训练推理测试说明文档:https://github.com/littletomatodonkey/AlexNet-Prod/blob/tipc/pipeline/Step5/AlexNet_paddle/test_tipc/docs/test_serving.md
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录