From f749f2dbe4628a6bcb26f6062bf36db775e4fd89 Mon Sep 17 00:00:00 2001 From: xuyongfei Date: Thu, 13 Aug 2020 11:14:49 +0800 Subject: [PATCH] serving doc update client --- .../source_zh_cn/advanced_use/serving.md | 62 ++++++++++++++----- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/tutorials/source_zh_cn/advanced_use/serving.md b/tutorials/source_zh_cn/advanced_use/serving.md index e6719fe7..3cb03ed0 100644 --- a/tutorials/source_zh_cn/advanced_use/serving.md +++ b/tutorials/source_zh_cn/advanced_use/serving.md @@ -10,6 +10,8 @@ - [导出模型](#导出模型) - [启动Serving推理服务](#启动serving推理服务) - [客户端示例](#客户端示例) + - [Python客户端示例](#python客户端示例) + - [C++客户端示例](#cpp客户端示例) @@ -32,10 +34,10 @@ ms_serving [--help] [--model_path ] [--model_name ] |参数名|属性|功能描述|参数类型|默认值|取值范围| |---|---|---|---|---|---| |`--help`|可选|显示启动命令的帮助信息。|-|-|-| -|`--model_path `|必选|指定待加载模型的存放路径。|str|空|-| -|`--model_name `|必选|指定待加载模型的文件名。|str|空|-| -|`--port `|可选|指定Serving对外的端口号。|int|5500|1~65535| -|`--device_id `|可选|指定使用的设备号|int|0|0~7| +|`--model_path=`|必选|指定待加载模型的存放路径。|str|空|-| +|`--model_name=`|必选|指定待加载模型的文件名。|str|空|-| +|`--port=`|可选|指定Serving对外的端口号。|int|5500|1~65535| +|`--device_id=`|可选|指定使用的设备号|int|0|0~7| > 执行启动命令前,需将`/{your python path}/lib:/{your python path}/lib/python3.7/site-packages/mindspore/lib`对应的路径加入到环境变量LD_LIBRARY_PATH中 。 @@ -48,30 +50,58 @@ ms_serving [--help] [--model_path ] [--model_name ] ```python python add_model.py ``` -执行脚本,生成add.pb文件,该模型的输入为两个shape为[4]的一维Tensor,输出结果是两个输入Tensor之和。 +执行脚本,生成`tensor_add.mindir`文件,该模型的输入为两个shape为[4]的一维Tensor,输出结果是两个输入Tensor之和。 ### 启动Serving推理服务 +`ms_serving`打包在MindSpore whl包安装路径中。 ```bash -ms_serving --model_path={current path} --model_name=add.pb +ms_serving --model_path={model directory} --model_name=tensor_add.mindir ``` 当服务端打印日志`MS Serving Listening on 0.0.0.0:5500`时,表示Serving服务已加载推理模型完毕。 ### 客户端示例 -执行如下命令,编译一个客户端示例程序,并向Serving服务发送推理请求。 +#### Python客户端示例 +获取[ms_client.py](https://gitee.com/mindspore/mindspore/blob/master/serving/example/python_client/ms_client.py),启动Python客户端。 ```bash -cd mindspore/serving/example/cpp_client -mkdir build -cmake .. -make -./ms_client --target=localhost:5500 +python ms_client.py ``` + 显示如下返回值说明Serving服务已正确执行Add网络的推理。 ``` -Compute [1, 2, 3, 4] + [1, 2, 3, 4] -Add result is [2, 4, 6, 8] -client received: RPC OK +ms client received: +[2. 2. 2. 2.] ``` - > 编译客户端要求用户本地已安装c++版本的[gRPC](https://gRPC.io),并将对应路径加入到环境变量`PATH`中。 + +#### C++客户端示例 +1. 获取客户端示例执行程序 + + 首先需要下载[MindSpore源码](https://gitee.com/mindspore/mindspore)。有两种方式编译并获取客户端示例程序: + + 从源码编译MindSpore时候,将会编译产生Serving C++客户端示例程序,可在`build/mindspore/serving/example/cpp_client`目录下找到`ms_client`可执行程序。 + + 独立编译: + + 需要先预装[gRPC](https://gRPC.io)。 + + 然后,在MindSpore源码路径中执行如下命令,编译一个客户端示例程序。 + ```bash + cd mindspore/serving/example/cpp_client + mkdir build && cd build + cmake -D GRPC_PATH={grpc_install_dir} .. + make + ``` + 其中`{grpc_install_dir}`为gRPC安装时的路径,请替换为实际gRPC安装路径。 + +2. 启动客户端 + + 执行ms_client,向Serving服务发送推理请求: + ```bash + ./ms_client --target=localhost:5500 + ``` + 显示如下返回值说明Serving服务已正确执行Add网络的推理。 + ``` + Compute [1, 2, 3, 4] + [1, 2, 3, 4] + Add result is [2, 4, 6, 8] + client received: RPC OK + ``` 客户端代码主要包含以下几个部分: -- GitLab