Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
models
提交
6e05bb80
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看板
未验证
提交
6e05bb80
编写于
6月 01, 2022
作者:
X
xiaoting
提交者:
GitHub
6月 01, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update serving test doc (#5534)
* update cpp serving doc * server build shell * update serving cpp test doc * fix typo
上级
e08c8220
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
52 addition
and
7 deletion
+52
-7
tutorials/mobilenetv3_prod/Step6/test_tipc/configs/mobilenet_v3_small/serving_infer_cpp.txt
...est_tipc/configs/mobilenet_v3_small/serving_infer_cpp.txt
+2
-1
tutorials/mobilenetv3_prod/Step6/test_tipc/test_serving_infer_cpp.sh
...obilenetv3_prod/Step6/test_tipc/test_serving_infer_cpp.sh
+3
-1
tutorials/tipc/serving_cpp/serving_cpp.md
tutorials/tipc/serving_cpp/serving_cpp.md
+1
-1
tutorials/tipc/serving_cpp/test_serving_cpp.md
tutorials/tipc/serving_cpp/test_serving_cpp.md
+46
-4
未找到文件。
tutorials/mobilenetv3_prod/Step6/test_tipc/configs/mobilenet_v3_small/serving_infer_cpp.txt
浏览文件 @
6e05bb80
...
...
@@ -12,4 +12,5 @@ serving_dir:./deploy/serving_cpp
--op:GeneralClasOp
--port:9997
--gpu_id:"0"|null
cpp_client:serving_client.py
\ No newline at end of file
cpp_client:serving_client.py
proto_path:deploy/serving_cpp/preprocess/serving_client_conf.prototxt
tutorials/mobilenetv3_prod/Step6/test_tipc/test_serving_infer_cpp.sh
浏览文件 @
6e05bb80
...
...
@@ -33,6 +33,8 @@ port_value=$(func_parser_value "${lines[12]}")
gpu_key
=
$(
func_parser_key
"
${
lines
[13]
}
"
)
gpu_value
=
$(
func_parser_value
"
${
lines
[13]
}
"
)
cpp_client_value
=
$(
func_parser_value
"
${
lines
[14]
}
"
)
proto_path
=
$(
func_parser_value
"
${
lines
[15]
}
"
)
LOG_PATH
=
"./log/
${
model_name
}
/
${
MODE
}
"
mkdir
-p
${
LOG_PATH
}
...
...
@@ -55,7 +57,7 @@ function func_serving(){
trans_model_cmd
=
"
${
python
}
${
trans_model_py
}
${
set_dirname
}
${
set_model_filename
}
${
set_params_filename
}
${
set_serving_server
}
${
set_serving_client
}
"
eval
$trans_model_cmd
last_status
=
${
PIPESTATUS
[0]
}
cp
"deploy/serving_cpp/preprocess/serving_client_conf.prototxt"
${
serving_client_value
}
cp
${
proto_path
}
${
serving_client_value
}
cd
${
serving_dir_value
}
status_check
$last_status
"
${
trans_model_cmd
}
"
"
${
status_log
}
"
"
${
model_name
}
"
echo
$PWD
...
...
tutorials/tipc/serving_cpp/serving_cpp.md
浏览文件 @
6e05bb80
...
...
@@ -156,7 +156,7 @@ cp -r ./template/code/* ./
* [preprocess_op.*](../../mobilenetv3_prod/Step6/deploy/serving_cpp/preprocess/preprocess_op.cpp) 是可能会用到的工具类函数,复用 cpp_infer 中的代码;
* [serving_client_conf.prototxt](../../mobilenetv3_prod/Step6/deploy/serving_cpp/preprocess/serving_client_conf.prototxt) 由于clint端输入的是原始图像,可能与推理时需要的输入数据类型不同,建议将输入数据类型统一修改成string,tipc测试时每次copy该文件,覆盖自动生成的`serving_client
_conf.prototxt`。 具体将 feed_var 中的 feed_type 修改为20,shape修改为1。
* [serving_client_conf.prototxt](../../mobilenetv3_prod/Step6/deploy/serving_cpp/preprocess/serving_client_conf.prototxt) 由于clint端输入的是原始图像,可能与推理时需要的输入数据类型不同,建议将输入数据类型统一修改成string,tipc测试时每次copy该文件,覆盖自动生成的`serving_client
/serving_client_conf.prototxt`。 具体在Clas将 feed_var 中的 feed_type 修改为20,shape修改为1。按模型实际需要修改,可参考[prototxt 字段说明](https://github.com/PaddlePaddle/Serving/blob/v0.9.0/doc/Save_CN.md)
```
feed_var {
...
...
tutorials/tipc/serving_cpp/test_serving_cpp.md
浏览文件 @
6e05bb80
...
...
@@ -52,9 +52,10 @@ python run_script
<a
name=
"2.2"
></a>
## 2.2 配置文件和运行命令映射解析
完整的
`serving_infer_cpp.txt`
配置文件共有13行,包含2个方面的内容。
-
Serving 部署模型转换:第4~10行
-
Serving 启动部署服务:第10~13行
完整的
`serving_infer_cpp.txt`
配置文件共有13行,包含3个方面的内容。
-
Serving 部署模型转换:第4~9行
-
Serving 启动部署服务:第10~14行
-
Serving 启动客户端:第15行
具体内容见
`serving_infer_cpp.txt`
。
...
...
@@ -91,13 +92,54 @@ python3.7 -m paddle_serving_client.convert --dirname=./inference/resnet50_infer/
-
pdmodel文件名:
`--model_filename=inference.pdmodel`
,则需要修改第6行
-
其他参数以此类推
### 2.2.2 C++ 服务部署配置参数
C++ 服务的服务端使用命令行启动。
```
python3.7 -m paddle_serving_server.serve --model ./deploy/serving_cpp/serving_server/ --op GeneralClasOp --port 9997 --gpu_id "0"
```
<details>
<summary>
服务端启动配置参数(点击以展开详细内容或者折叠)
</summary>
serving_dir:./deploy/serving_cpp
--model:serving_server
--op:GeneralClasOp
--port:9997
--gpu_id:"0"|null
| 行号 | 参考内容 | 含义 | key是否需要修改 | value是否需要修改 | 修改内容 |
|----|-------------------------------------|---------------|-----------|-------------|----------------------------------|
| 10 | serving_dir:./deploy/serving_cpp | serving服务执行路径 | 否 | 是 | value修改实际路径 |
| 11 | --model:serving_server | 部署模型名称 | 否 | 是 | value修改为实际部署模型名称 |
| 12 | --op:GeneralClasOp | 自定义OP名称 | 否 | 是 | value修改自定义模型的名称 |
| 13 | --port:9997 | 端口号 | 否 | 是 | value修改为实际使用的端口号 |
| 14 | --gpu_id:"0"|null | 是否使用gpu | 否 | 否 | 默认在"0"号gpu卡和cpu卡上运行 |
</details>
C++ 服务的客户端采用 PYTHON 语言编写。
```
python
python3
.
7
serving_client
.
py
```
<details>
<summary>
服务端启动配置参数(点击以展开详细内容或者折叠)
</summary>
| 行号 | 参考内容 | 含义 | key是否需要修改 | value是否需要修改 | 修改内容 |
|----|-------------------------------------|---------------|-----------|-------------|----------------------------------|
| 15 | cpp_client:serving_client.py | 客户端服务执行路径 | 否 | 是 | value修改实际路径 |
| 16 | proto_path:deploy/serving_cpp/preprocess/serving_client_conf.prototxt | 准备好的prototxt路径 | 否 | 是 | value修改为实际的prototxt文件路径 |
</details>
<a
name=
"3"
></a>
# 3. C++ 服务化部署功能测试开发
...
...
@@ -133,7 +175,7 @@ python3.7 -m paddle_serving_client.convert
--
serving_client
=
.
/
deploy
/
serving_cpp
/
serving_client
/
# 部署
python3
.
7
-
m
paddle_serving_server
.
serve
--
model
.
/
deploy
/
serving_cpp
/
serving_server
/
--
port
9993
python3
.
7
-
m
paddle_serving_server
.
serve
--
model
.
/
deploy
/
serving_cpp
/
serving_server
/
--
op
GeneralClasOp
--
port
9997
--
gpu_id
"0"
python3
.
7
serving_client
.
py
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录