From 4d035eb35fa905df74cf43aab77092ae8c16a11f Mon Sep 17 00:00:00 2001 From: TeslaZhao Date: Wed, 18 May 2022 13:12:40 +0800 Subject: [PATCH] Update doc --- cmake/paddlepaddle.cmake | 17 +- .../proto/general_model_service.proto | 7 +- core/configure/proto/server_configure.proto | 14 + core/general-server/op/general_remote_op.cpp | 126 +++ core/general-server/op/general_remote_op.h | 58 + .../proto/general_model_service.proto | 2 +- core/predictor/common/constant.cpp | 2 +- core/predictor/framework/bsf-inl.h | 2 +- .../sdk-cpp/proto/general_model_service.proto | 2 +- .../proto/load_general_model_service.proto | 1 + doc/Offical_Docs/10-0_Terminology.md | 1 + doc/Offical_Docs/11-0_Contributors.md | 97 ++ doc/Offical_Docs/11_Lookup_CN.md | 0 doc/Offical_Docs/12-0_FAQ_CN.md | 328 ++++++ doc/Offical_Docs/3-0_QuickStart_Int_CN.md | 9 +- .../3-1_QuickStart_Cpp_Resnet_CN.md | 111 ++ .../3-2_QuickStart_Pipeline_OCR_CN.md | 93 +- doc/Offical_Docs/4-0_ModelZoo_CN.md | 67 +- doc/Offical_Docs/5-1_Save_Model_Params_CN.md | 188 ++++ .../6-1_Cpp_Asynchronous_Framwork_CN.md | 167 +++ .../6-2_Cpp_Serving_Protocols_CN.md | 290 +++++ doc/Offical_Docs/6-5_Cpp_ABTest_CN.md | 198 ++++ .../7-0_Python_Pipeline_Int_CN.md | 3 +- .../7-1_Python_Pipeline_Design_CN.md | 117 +- .../7-2_Python_Pipeline_Senior_CN.md | 402 +++++-- .../7-3_Python_Pipeline_Optimize_CN.md | 213 +++- .../7-4_Python_Pipeline_Benchmark_CN.md | 59 + doc/Offical_Docs/9-0_Kubernetes_Int_CN.md | 3 +- doc/Offical_Docs/Home_Page_CN.md | 88 ++ .../6-1_Cpp_Asynchronous_Framwork_CN_1.png | Bin 0 -> 366826 bytes .../images/6-5_Cpp_ABTest_CN_1.png | Bin 0 -> 302218 bytes .../C++/PaddleClas/resnet_50_vd/README_CN.md | 69 ++ .../C++/PaddleClas/resnet_50_vd/daisy.jpg | Bin 0 -> 39696 bytes .../PaddleClas/resnet_50_vd/http_client.py | 82 ++ .../PaddleClas/resnet_50_vd/imagenet.label | 1000 +++++++++++++++++ .../C++/PaddleClas/resnet_50_vd/rpc_client.py | 51 + examples/C++/imdb/README_CN.md | 20 +- examples/C++/imdb/abtest_client.py | 50 +- examples/C++/imdb/test_http_client.py | 2 +- .../main/proto/general_model_service.proto | 8 +- .../paddle/include/paddle_engine.h | 16 +- python/paddle_serving_server/serve.py | 25 + python/paddle_serving_server/server.py | 20 + .../proto/general_model_service.proto | 7 + 44 files changed, 3824 insertions(+), 191 deletions(-) create mode 100644 core/general-server/op/general_remote_op.cpp create mode 100644 core/general-server/op/general_remote_op.h create mode 100644 doc/Offical_Docs/10-0_Terminology.md create mode 100644 doc/Offical_Docs/11-0_Contributors.md delete mode 100644 doc/Offical_Docs/11_Lookup_CN.md create mode 100644 doc/Offical_Docs/12-0_FAQ_CN.md create mode 100644 doc/Offical_Docs/3-1_QuickStart_Cpp_Resnet_CN.md create mode 100644 doc/Offical_Docs/5-1_Save_Model_Params_CN.md create mode 100644 doc/Offical_Docs/6-1_Cpp_Asynchronous_Framwork_CN.md create mode 100644 doc/Offical_Docs/6-2_Cpp_Serving_Protocols_CN.md create mode 100644 doc/Offical_Docs/6-5_Cpp_ABTest_CN.md create mode 100644 doc/Offical_Docs/7-4_Python_Pipeline_Benchmark_CN.md create mode 100644 doc/Offical_Docs/Home_Page_CN.md create mode 100644 doc/Offical_Docs/images/6-1_Cpp_Asynchronous_Framwork_CN_1.png create mode 100644 doc/Offical_Docs/images/6-5_Cpp_ABTest_CN_1.png create mode 100644 examples/C++/PaddleClas/resnet_50_vd/README_CN.md create mode 100644 examples/C++/PaddleClas/resnet_50_vd/daisy.jpg create mode 100644 examples/C++/PaddleClas/resnet_50_vd/http_client.py create mode 100644 examples/C++/PaddleClas/resnet_50_vd/imagenet.label create mode 100644 examples/C++/PaddleClas/resnet_50_vd/rpc_client.py diff --git a/cmake/paddlepaddle.cmake b/cmake/paddlepaddle.cmake index 4f345c163..f6548478a 100644 --- a/cmake/paddlepaddle.cmake +++ b/cmake/paddlepaddle.cmake @@ -171,14 +171,27 @@ LINK_DIRECTORIES(${PADDLE_INSTALL_DIR}/third_party/install/mklml/lib) SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${PADDLE_INSTALL_DIR}/third_party/install/mkldnn/lib") LINK_DIRECTORIES(${PADDLE_INSTALL_DIR}/third_party/install/mkldnn/lib) +#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${PADDLE_INSTALL_DIR}/third_party/install/paddle2onnx/lib") +#LINK_DIRECTORIES(${PADDLE_INSTALL_DIR}/third_party/install/paddle2onnx/lib) + +#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${PADDLE_INSTALL_DIR}/third_party/install/onnxruntime/lib") +#LINK_DIRECTORIES(${PADDLE_INSTALL_DIR}/third_party/install/onnxruntime/lib) + if (NOT WITH_MKLML) ADD_LIBRARY(openblas STATIC IMPORTED GLOBAL) SET_PROPERTY(TARGET openblas PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/third_party/install/openblas/lib/libopenblas.a) endif() +#ADD_LIBRARY(paddle2onnx STATIC IMPORTED GLOBAL) +#SET_PROPERTY(TARGET paddle2onnx PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/third_party/install/paddle2onnx/lib/libpaddle2onnx.so) + +#ADD_LIBRARY(onnxruntime STATIC IMPORTED GLOBAL) +#SET_PROPERTY(TARGET onnxruntime PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/third_party/install/onnxruntime/lib/libonnxruntime.so.1.10.0) + ADD_LIBRARY(paddle_inference STATIC IMPORTED GLOBAL) -SET_PROPERTY(TARGET paddle_inference PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/lib/libpaddle_inference.so) -if (WITH_ASCEND_CL) + +SET_PROPERTY(TARGET paddle_inference PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/lib/libpaddle_inference.a) +if (WITH_ASCEND_CL OR WITH_XPU) SET_PROPERTY(TARGET paddle_inference PROPERTY IMPORTED_LOCATION ${PADDLE_INSTALL_DIR}/lib/libpaddle_inference.so) endif() diff --git a/core/configure/proto/general_model_service.proto b/core/configure/proto/general_model_service.proto index c2deab2f6..b4f1ce0cf 100644 --- a/core/configure/proto/general_model_service.proto +++ b/core/configure/proto/general_model_service.proto @@ -90,11 +90,12 @@ message Request { message Response { repeated ModelOutput outputs = 1; repeated int64 profile_time = 2; + bool profile_server = 3; + uint64 log_id = 4; // Error code - int32 err_no = 3; - + int32 err_no = 5; // Error messages - string err_msg = 4; + string err_msg = 6; }; message ModelOutput { diff --git a/core/configure/proto/server_configure.proto b/core/configure/proto/server_configure.proto index d1d9ee256..f5edd23fd 100644 --- a/core/configure/proto/server_configure.proto +++ b/core/configure/proto/server_configure.proto @@ -49,6 +49,20 @@ message EngineDesc { optional bool gpu_multi_stream = 20; optional bool use_ascend_cl = 21; + /* + * "gpu_memory_mb": allocate gpu memory by config.EnableUseGpu() + * "cpu_math_thread_num": set thread numbers of cpu math by + * config.SetCpuMathLibraryNumThreads() + * "trt_workspace_size": set TensorRT workspace size by + * config.EnableTensorRtEngine(), 1 << 25 default + * "trt_use_static": If true, save the optimization information of the TRT + * serialized to the disk, and load from the disk. + */ + optional int32 gpu_memory_mb = 22 [ default = 100 ]; + optional int32 cpu_math_thread_num = 23 [ default = 1 ]; + optional int32 trt_workspace_size = 24 [ default = 33554432 ]; + optional bool trt_use_static = 25 [ default = false ]; + /* * "runtime_thread_num": n == 0 means don`t use Asynchronous task scheduling * mode. diff --git a/core/general-server/op/general_remote_op.cpp b/core/general-server/op/general_remote_op.cpp new file mode 100644 index 000000000..2e77067dd --- /dev/null +++ b/core/general-server/op/general_remote_op.cpp @@ -0,0 +1,126 @@ +// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "core/general-server/op/general_remote_op.h" +#include +#include +#include "core/util/include/timer.h" + +// paddle inference 2.1 support: FLOAT32, INT64, INT32, UINT8, INT8 +// will support: FLOAT16 +#define BRPC_MAX_BODY_SIZE 2 * 1024 * 1024 * 1024 +const std::string LODABALANCE = ""; + +namespace baidu { +namespace paddle_serving { +namespace serving { + +using baidu::paddle_serving::Timer; +using baidu::paddle_serving::predictor::general_model::Tensor; +using baidu::paddle_serving::predictor::general_model::Request; +using baidu::paddle_serving::predictor::general_model::Response; + +brpc::Channel BRPCStub::brpc_channels[MAX_MP_NUM]; + +brpc::ChannelOptions BRPCStub::options; +std::atomic BRPCStub::inited(0); + +int GeneralRemoteOp::inference() { + LOG(INFO) << "Enter GeneralRemoteOp:inference()"; + int expected = 0; + std::vector op_address = address(); + if (BRPCStub::inited.compare_exchange_strong(expected, 1)) { + BRPCStub::options.protocol = "baidu_std"; + BRPCStub::options.connection_type = "short"; + BRPCStub::options.timeout_ms = 80000 /*milliseconds*/; + BRPCStub::options.max_retry = 100; + brpc::fLU64::FLAGS_max_body_size = BRPC_MAX_BODY_SIZE; + + LOG(ERROR) << "address size: " << op_address.size(); + for (int i = 0; i < op_address.size(); ++i) { + LOG(INFO) << i + 1 << " address is " << op_address[i].c_str(); + BRPCStub::brpc_channels[i].Init( + op_address[i].c_str(), LODABALANCE.c_str(), &BRPCStub::options); + } + + BRPCStub::inited++; + } + while (BRPCStub::inited < 2) { + } + + Timer timeline; + int64_t start = timeline.TimeStampUS(); + timeline.Start(); + VLOG(2) << "Going to run Remote inference"; + + Request* req = (Request*)(get_request_message()); + Response* res = mutable_data(); + uint64_t log_id = req->log_id(); + + brpc::Controller brpc_controllers[MAX_MP_NUM]; + brpc::CallId brpc_callids[MAX_MP_NUM]; + Response brpc_response_tmp; + + size_t i = 0; + // Init BRPC controllers, callids and stubs + for (i = 0; i < op_address.size(); ++i) { + brpc_controllers[i].set_log_id(log_id); + brpc_callids[i] = brpc_controllers[i].call_id(); + } + for (i = 0; i < op_address.size(); ++i) { + baidu::paddle_serving::predictor::general_model::GeneralModelService_Stub + stub(&BRPCStub::brpc_channels[i]); + LOG(INFO) << "Sended 1 request to Slave Sever " << i; + if (0 == i) { + stub.inference(&brpc_controllers[i], req, res, brpc::DoNothing()); + continue; + } + stub.inference( + &brpc_controllers[i], req, &brpc_response_tmp, brpc::DoNothing()); + } + + LOG(INFO) << "All request are sended, waiting for all responses."; + + // Wait RPC done. + for (i = 0; i < op_address.size(); ++i) { + brpc::Join(brpc_callids[i]); + } + + // Print RPC Results + for (i = 0; i < op_address.size(); ++i) { + LOG(INFO) << "brpc_controller_" << i + << " status:" << brpc_controllers[i].Failed(); + if (!brpc_controllers[i].Failed()) { + LOG(INFO) << "Received response from " + << brpc_controllers[i].remote_side() + << " Latency=" << brpc_controllers[i].latency_us() << "us"; + } else { + LOG(ERROR) << brpc_controllers[i].ErrorText(); + } + } + LOG(INFO) << "All brpc remote stubs joined done."; + + res->set_log_id(log_id); + res->set_profile_server(req->profile_server()); + int64_t end = timeline.TimeStampUS(); + res->add_profile_time(start); + res->add_profile_time(end); + + return 0; +} + +DEFINE_OP(GeneralRemoteOp); +} // namespace serving +} // namespace paddle_serving +} // namespace baidu diff --git a/core/general-server/op/general_remote_op.h b/core/general-server/op/general_remote_op.h new file mode 100644 index 000000000..94bfcb9f6 --- /dev/null +++ b/core/general-server/op/general_remote_op.h @@ -0,0 +1,58 @@ +// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +#include "core/general-server/general_model_service.pb.h" + +#include "core/sdk-cpp/builtin_format.pb.h" +#include "core/sdk-cpp/general_model_service.pb.h" +#include "core/sdk-cpp/include/common.h" +#include "core/sdk-cpp/include/predictor_sdk.h" + +#define MAX_MP_NUM 16 + +namespace baidu { +namespace paddle_serving { +namespace serving { + +using baidu::paddle_serving::predictor::general_model::Request; +using baidu::paddle_serving::predictor::general_model::Response; + +class GeneralRemoteOp + : public baidu::paddle_serving::predictor::OpWithChannel< + baidu::paddle_serving::predictor::general_model::Response> { + public: + DECLARE_OP(GeneralRemoteOp); + int inference(); +}; + +class BRPCStub { + public: + static brpc::Channel brpc_channels[MAX_MP_NUM]; + static brpc::ChannelOptions options; + static std::atomic inited; +}; + +} // namespace serving +} // namespace paddle_serving +} // namespace baidu diff --git a/core/general-server/proto/general_model_service.proto b/core/general-server/proto/general_model_service.proto index 904ffb97f..a5adeeb95 100755 --- a/core/general-server/proto/general_model_service.proto +++ b/core/general-server/proto/general_model_service.proto @@ -94,9 +94,9 @@ message Response { repeated int64 profile_time = 2; bool profile_server = 3; uint64 log_id = 4; + // Error code int32 err_no = 5; - // Error messages string err_msg = 6; }; diff --git a/core/predictor/common/constant.cpp b/core/predictor/common/constant.cpp index b0acb8869..5df873017 100644 --- a/core/predictor/common/constant.cpp +++ b/core/predictor/common/constant.cpp @@ -20,7 +20,7 @@ namespace predictor { DEFINE_bool(use_parallel_infer_service, false, ""); DEFINE_int32(el_log_level, 16, ""); -DEFINE_int32(idle_timeout_s, 16, ""); +DEFINE_int32(idle_timeout_s, 80, ""); DEFINE_int32(port, 8010, ""); DEFINE_string(workflow_path, "./conf", ""); DEFINE_string(workflow_file, "workflow.prototxt", ""); diff --git a/core/predictor/framework/bsf-inl.h b/core/predictor/framework/bsf-inl.h index fc468bfe9..f1885ae35 100644 --- a/core/predictor/framework/bsf-inl.h +++ b/core/predictor/framework/bsf-inl.h @@ -341,7 +341,7 @@ bool TaskExecutor::move_task_to_batch( LOG(INFO) << "Hit auto padding, merge " << padding_task_count << " tasks into 1 batch."; } - LOG(INFO) << "Number of tasks remaining in _task_queue is" + LOG(INFO) << "Number of tasks remaining in _task_queue is " << _task_queue.size(); return true; } diff --git a/core/sdk-cpp/proto/general_model_service.proto b/core/sdk-cpp/proto/general_model_service.proto index de9516259..5c17f955f 100755 --- a/core/sdk-cpp/proto/general_model_service.proto +++ b/core/sdk-cpp/proto/general_model_service.proto @@ -94,9 +94,9 @@ message Response { repeated int64 profile_time = 2; bool profile_server = 3; uint64 log_id = 4; + // Error code int32 err_no = 5; - // Error messages string err_msg = 6; }; diff --git a/core/sdk-cpp/proto/load_general_model_service.proto b/core/sdk-cpp/proto/load_general_model_service.proto index c58f79ecd..da731589c 100644 --- a/core/sdk-cpp/proto/load_general_model_service.proto +++ b/core/sdk-cpp/proto/load_general_model_service.proto @@ -21,6 +21,7 @@ option cc_generic_services = true; message RequestAndResponse { required int32 a = 1; required float b = 2; + required uint64 log_id = 3 [ default = 0 ]; }; service LoadGeneralModelService { diff --git a/doc/Offical_Docs/10-0_Terminology.md b/doc/Offical_Docs/10-0_Terminology.md new file mode 100644 index 000000000..329002b0a --- /dev/null +++ b/doc/Offical_Docs/10-0_Terminology.md @@ -0,0 +1 @@ +# 名词术语解释 diff --git a/doc/Offical_Docs/11-0_Contributors.md b/doc/Offical_Docs/11-0_Contributors.md new file mode 100644 index 000000000..905da9793 --- /dev/null +++ b/doc/Offical_Docs/11-0_Contributors.md @@ -0,0 +1,97 @@ +# 开发者贡献 + +- [贡献代码流程](#1) + - [创建个人仓库](#1.1) + - [本地克隆仓库和分支](#1.2) + - [提交代码](#1.3) + - [通过 CI 验证](#1.4) + - [Code Review](#1.5) + - [代码合入](#1.6) +- [致谢开发者](#2) + + + +## 贡献代码流程 + +Paddle Serving 使用 Git 分支模式。通常,按以下步骤贡献代码: + + + +**一.创建个人仓库** + +Paddle Serving 社区一直在快速发展,每个人都写到官方回购中是没有意义的。所以,请先 `fork` 出个人仓库,并提交 `Pull Requests`。`fork` 个人仓库,只需前往 [Serving](https://github.com/PaddlePaddle/Serving) 页面并单击右上角 ["Fork"](https://github.com/PaddlePaddle/Serving/fork)。 + + + +**二.本地克隆仓库和分支** + +创建个人仓库后,`clone` 个人仓库到本地计算机,默认创建本地 `develop` 分支。 +```bash +git clone https://github.com/your-github-account/Serving +``` + + + +**三.提交代码** + +本地修改代码并验证后,准备提交代码。在提交代码前请安装 [`pre-commit`](http://pre-commit.com/)、cpplint 和 pylint。 +```bash +pip3 install pre-commit +pre-commit install + +pip3 install cpplint pylint +``` +在提交代码时,会进行代码格式检查和修正,待所有检查都通过后,方可提交。 +```shell + $ git commit + CRLF end-lines remover...............................(no files to check)Skipped + yapf.....................................................................Passed + Check for added large files..............................................Passed + Check for merge conflicts................................................Passed + Check for broken symlinks................................................Passed + Detect Private Key...................................(no files to check)Skipped + Fix End of Files.........................................................Passed + clang-format.............................................................Passed + cpplint..................................................................Passed + pylint...................................................................Passed + copyright_checker........................................................Passed + [my-cool-stuff c703c041] add test file + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 233 +``` + +运行代码提交命令,提交到个人仓库,再通过 Github 页面创建一个 `pull request` 提交到 Paddel Serving 主仓库。 +```bash +git push origin develop +``` + + + +**四.通过 CI 验证** + +所有提交到 Paddle Serving 主仓库的 `pull request` 都会运行 `py36`、`py38`、`py39`的所有 CI 测试用例。全部通过后才能合入。 + + + +**五.Code Review** + +所有提交的代码要经过管理员的评审,至少通过2人评审后方可合入。 + + + +**六.代码合入** + +待通过全部 CI 验证,并且完成 Code Review 和修改后,由仓库管理员合入代码。 + + + +## 致谢开发者 + +- 感谢 [@loveululu](https://github.com/loveululu) 提供 Cube python API +- 感谢 [@EtachGu](https://github.com/EtachGu) 更新 docker 使用命令 +- 感谢 [@BeyondYourself](https://github.com/BeyondYourself) 提供grpc教程,更新FAQ教程,整理文件目录。 +- 感谢 [@mcl-stone](https://github.com/mcl-stone) 提供faster rcnn benchmark脚本 +- 感谢 [@cg82616424](https://github.com/cg82616424) 提供unet benchmark脚本和修改部分注释错误 +- 感谢 [@cuicheng01](https://github.com/cuicheng01) 提供PaddleClas的11个模型 +- 感谢 [@Jiaqi Liu](https://github.com/LiuChiachi) 新增list[str]类型输入的预测支持 +- 感谢 [@Bin Lu](https://github.com/Intsigstephon) 提供PP-Shitu C++模型示例 diff --git a/doc/Offical_Docs/11_Lookup_CN.md b/doc/Offical_Docs/11_Lookup_CN.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/Offical_Docs/12-0_FAQ_CN.md b/doc/Offical_Docs/12-0_FAQ_CN.md new file mode 100644 index 000000000..59455a77c --- /dev/null +++ b/doc/Offical_Docs/12-0_FAQ_CN.md @@ -0,0 +1,328 @@ +# 常见问题与解答 + +常见问题解答分为8大类问题: +- [版本升级问题](#1) +- [基础知识](#2) +- [安装问题](#3) +- [编译问题](#4) +- [环境问题](#5) +- [部署问题](#6) +- [预测问题](#7) +- [日志排查](#8) + + + +## 版本升级问题 + +#### Q: 从 `v0.6.x` 升级到 `v0.7.0` 版本时,运行 Python Pipeline 程序时报错信息如下: +``` +Failed to predict: (data_id=1 log_id=0) [det|0] Failed to postprocess: postprocess() takes 4 positional arguments but 5 were given +``` +**A:** 在服务端程序(例如 web_service.py)的postprocess函数定义中增加参数data_id,改为 def postprocess(self, input_dicts, fetch_dict, **data_id**, log_id) 即可。 + + + +## 基础知识 + +#### Q: Paddle Serving 、Paddle Inference、PaddleHub Serving 三者的区别及联系? + +**A:** Paddle Serving 是远程服务,即发起预测的设备(手机、浏览器、客户端等)与实际预测的硬件不在一起。 paddle inference 是一个 library,适合嵌入到一个大系统中保证预测效率,Paddle Serving 调用 paddle inference 做远程服务。paddlehub serving 可以认为是一个示例,都会使用 Paddle Serving 作为统一预测服务入口。如果在 web 端交互,一般是调用远程服务的形式,可以使用 Paddle Serving 的 web service 搭建。 + +#### Q: Paddle Serving 支持哪些数据类型? + +**A:** 在 protobuf 定义中 `feed_type` 和 `fetch_type` 编号与数据类型对应如下,完整信息可参考[保存用于 Serving 部署的模型参数](./5-1_Save_Model_Params_CN.md) + +| 类型 | 类型值 | +|------|------| +| int64 | 0 | +| float32 |1 | +| int32 | 2 | +| float64 | 3 | +| int16 | 4 | +| float16 | 5 | +| bfloat16 | 6 | +| uint8 | 7 | +| int8 | 8 | +| bool | 9 | +| complex64 | 10 +| complex128 | 11 | + +#### Q: Paddle Serving 是否支持 Windows 和 Linux 原生环境部署? + +**A:** 安装 `Linux Docker`,在 Docker 中部署 Paddle Serving,参考[安装指南](./2-0_Index_CN.md) + +#### Q: Paddle Serving 如何修改消息大小限制 + +**A:** Server 和 Client 通过修改 `FLAGS_max_body_size` 参数来扩大数据量限制,单位为字节,默认为64MB + +#### Q: Paddle Serving 客户端目前支持哪些开发语言? + +**A:** 提供 Python、C++ 和 Java SDK + +#### Q: Paddle Serving 支持哪些网络协议? + +**A:** C++ Serving 同时支持 HTTP、gRPC 和 bRPC 协议。其中 HTTP 协议既支持 HTTP + Json 格式,同时支持 HTTP + proto 格式。完整信息请阅读[C++ Serving 通讯协议](./6-2_Cpp_Serving_Protocols_CN.md);Python Pipeline 支持 HTTP 和 gRPC 协议,更多信息请阅读[Python Pipeline 框架设计](./6-2_Cpp_Serving_Protocols_CN.md) + + + +## 安装问题 + +#### Q: `pip install` 安装 `python wheel` 过程中,报错信息如何修复? + +``` +Collecting opencv-python + Getting requirements to build wheel ... error + ERROR: Command errored out with exit status 1: + command: /home/work/Python-2.7.17/build/bin/python /home/work/Python-2.7.17/build/lib/python2.7/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpLiweA9 + cwd: /tmp/pip-install-_w6AUI/opencv-python + Complete output (22 lines): + Traceback (most recent call last): + File "setup.py", line 99, in main + % {"ext": re.escape(sysconfig.get_config_var("EXT_SUFFIX"))} + File "/home/work/Python-2.7.17/build/lib/python2.7/re.py", line 210, in escape + s = list(pattern) + TypeError: 'NoneType' object is not iterable +``` + +**A:** 指定 `opencv-python` 安装版本4.2.0.32,运行 `pip3 install opencv-python==4.2.0.32` + +#### Q: pip3 install wheel包过程报错,详细信息如下: + +``` + Complete output from command python setup.py egg_info: + Found cython-generated files... + error in grpcio setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected ',' or end-of-list in futures>=2.2.0; python_version<'3.2' at ; python_version<'3.2' + + ---------------------------------------- +Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-taoxz02y/grpcio/ +``` + +**A:** 需要升级 pip3 版本,再重新执行安装命令。 + +``` +pip3 install --upgrade pip +pip3 install --upgrade setuptools +``` + +#### Q: 运行过程中出现 `No module named xxx` 错误,信息如下: + +``` +Traceback (most recent call last): + File "../../deploy/serving/test_client.py", line 18, in + from paddle_serving_app.reader import * + File "/usr/local/python2.7.15/lib/python2.7/site-packages/paddle_serving_app/reader/__init__.py", line 15, in + from .image_reader import ImageReader, File2Image, URL2Image, Sequential, Normalize, Base64ToImage + File "/usr/local/python2.7.15/lib/python2.7/site-packages/paddle_serving_app/reader/image_reader.py", line 24, in + from shapely.geometry import Polygon +ImportError: No module named shapely.geometry +``` + +**A:** 有2种方法,第一种通过 pip3 安装shapely,第二种通过 pip3 安装所有依赖组件[requirements.txt](https://github.com/PaddlePaddle/Serving/blob/develop/python/requirements.txt)。 + +``` +方法1: +pip3 install shapely==1.7.0 + +方法2: +pip3 install -r python/requirements.txt +``` + + + +## 编译问题 + +#### Q: 如何使用自己编译的 Paddle Serving 进行预测? + +**A:** 编译 Paddle Serving 请阅读[编译 Serving](https://github.com/PaddlePaddle/Serving/blob/v0.8.3/doc/Compile_CN.md)。 + +#### Q: 使用 Java 客户端,mvn compile 过程出现 "No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?" 错误 + +**A:** 没有安装 JDK,或者 `JAVA_HOME` 路径配置错误(正确配置是 JDK 路径,常见错误配置成 JRE 路径,例如正确路径参考 `JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/"`)。Java JDK 安装参考 https://segmentfault.com/a/1190000015389941。 + +#### Q: 编译过程报错 /usr/local/bin/ld: cannot find -lbz2 +``` +/usr/local/bin/ld: cannot find -lbz2 +collect2: error: ld returned 1 exit status +core/general-server/CMakeFiles/serving.dir/build.make:276: recipe for target 'core/general-server/serving' failed +make[2]: *** [core/general-server/serving] Error 1 +CMakeFiles/Makefile2:1181: recipe for target 'core/general-server/CMakeFiles/serving.dir/all' failed +make[1]: *** [core/general-server/CMakeFiles/serving.dir/all] Error 2 +Makefile:129: recipe for target 'all' failed +make: *** [all] Error 2 +``` + +**A:** Ubuntu 系统运行命令安装 libbz2: `apt install libbz2-dev`, + + + +## 环境问题 + +#### Q:程序运行出现 `CXXABI` 相关错误。 + +错误原因是编译 Python 使用的 GCC 版本和编译 Serving 的 GCC 版本不一致。对于 Docker 用户,推荐使用[Docker容器](https://github.com/PaddlePaddle/Serving/blob/develop/doc/Docker_Images_CN.md),由于 Docker 容器内的 Python 版本与 Serving 在发布前都做过适配,这样就不会出现类似的错误。 + +推荐使用 GCC 8.2 预编译包 [Python3.6](https://paddle-serving.bj.bcebos.com/others/Python3.6.10-gcc82.tar) 。下载解压后,需要将对应的目录设置为 `PYTHONROOT`,并设置 `PATH` 和 `LD_LIBRARY_PATH`。 + +```bash +export PYTHONROOT=/path/of/python # 对应解压后的Python目录 +export PATH=$PYTHONROOT/bin:$PATH +export LD_LIBRARY_PATH=$PYTHONROOT/lib:$LD_LIBRARY_PATH +``` + +#### Q:遇到 `libstdc++.so.6` 的版本不够的问题 + +触发该问题的原因在于,编译 Paddle Serving 相关可执行程序和动态库,所采用的是 GCC 8.2(Cuda 9.0 和 10.0 的 Server 可执行程序受限 CUDA 兼容性采用 GCC 4.8编译)。Python 在调用的过程中,有可能链接到了其他 GCC 版本的 `libstdc++.so`。 需要做的就是受限确保所在环境具备 GCC 8.2,其次将 GCC8.2 的`libstdc++.so.*`拷贝到某个目录例如`/home/libstdcpp` 下。最后 `export LD_LIBRARY_PATH=/home/libstdcpp:$LD_LIBRARY_PATH` 即可。 + +#### Q: 遇到 `OPENSSL_1.0.1EC` 符号找不到的问题。 + +目前 Serving 的可执行程序和客户端动态库需要链接 `1.0.2k` 版本的 `openssl` 动态库。如果环境当中没有,可以执行 + +```bash +wget https://paddle-serving.bj.bcebos.com/others/centos_ssl.tar && \ + tar xf centos_ssl.tar && rm -rf centos_ssl.tar && \ + mv libcrypto.so.1.0.2k /usr/lib/libcrypto.so.1.0.2k && mv libssl.so.1.0.2k /usr/lib/libssl.so.1.0.2k && \ + ln -sf /usr/lib/libcrypto.so.1.0.2k /usr/lib/libcrypto.so.10 && \ + ln -sf /usr/lib/libssl.so.1.0.2k /usr/lib/libssl.so.10 && \ + ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so && \ + ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so +``` + +其中 `/usr/lib` 可以换成其他目录,并确保该目录在 `LD_LIBRARY_PATH` 下。 + +### GPU相关环境问题 + +#### Q:需要做哪些检查确保 Serving 可以运行在 GPU 环境 + +**注:如果是使用 Serving 提供的镜像不需要做下列检查,如果是其他开发环境可以参考以下指导。** + +首先需要确保`nvidia-smi`可用,其次需要确保所需的动态库so文件在`LD_LIBRARY_PATH`所在的目录(包括系统lib库)。 + +(1)CUDA 显卡驱动:文件名通常为 `libcuda.so.$DRIVER_VERSION` 例如驱动版本为440.10.15,文件名就是 `libcuda.so.440.10.15`。 + +(2)CUDA 和 cuDNN 动态库:文件名通常为 `libcudart.so.$CUDA_VERSION`,和 `libcudnn.so.$CUDNN_VERSION`。例如 CUDA9 就是 `libcudart.so.9.0`,Cudnn7就是 `libcudnn.so.7`。CUDA 和 cuDNN 与 Serving 的版本匹配参见[Serving所有镜像列表](Docker_Images_CN.md#%E9%99%84%E5%BD%95%E6%89%80%E6%9C%89%E9%95%9C%E5%83%8F%E5%88%97%E8%A1%A8). + + (3) CUDA 10.1及更高版本需要 TensorRT。安装 TensorRT 相关文件的脚本参考 [install_trt.sh](../tools/dockerfiles/build_scripts/install_trt.sh). + + + +## 部署问题 + +#### Q: GPU 环境运行 Serving 报错,GPU count is: 0。 + +``` +terminate called after throwing an instance of 'paddle::platform::EnforceNotMet' +what(): +-------------------------------------------- +C++ Call Stacks (More useful to developers): +-------------------------------------------- +0 std::string paddle::platform::GetTraceBackString(std::string const&, char const*, int) +1 paddle::platform::SetDeviceId(int) +2 paddle::AnalysisConfig::fraction_of_gpu_memory_for_pool() const +3 std::unique_ptr > paddle::CreatePaddlePredictor(paddle::AnalysisConfig const&) +4 std::unique_ptr > paddle::CreatePaddlePredictor(paddle::AnalysisConfig const&) +---------------------- +Error Message Summary: +---------------------- +InvalidArgumentError: Device id must be less than GPU count, but received id is: 0. GPU count is: 0. +[Hint: Expected id < GetCUDADeviceCount(), but received id:0 >= GetCUDADeviceCount():0.] at (/home/scmbuild/workspaces_cluster.dev/baidu.lib.paddlepaddle/baidu/lib/paddlepaddle/Paddle/paddle/fluid/platform/gpu_info.cc:211) +``` + +**A:** 原因是 `libcuda.so` 没有链接成功。首先在机器上找到 `libcuda.so`,使用 `ldd` 命令检查 libnvidia 版本与 nvidia-smi 中版本是否一致(libnvidia-fatbinaryloader.so.418.39,与NVIDIA-SMI 418.39 Driver Version: 418.39),然后用 export 导出 `libcuda.so` 的路径即可(例如 libcuda.so 在 /usr/lib64/,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/) + +#### Q: 遇到 GPU not found, please check your environment or use cpu version by "pip install paddle_serving_server" + +**A:** 检查环境中是否有N卡:`ls /dev/ | grep nvidia` + +#### Q: Paddle Serving 支持哪些镜像环境? + +**A:** 支持 CentOS 和 Ubuntu 环境镜像 ,完整列表查阅[这里](https://github.com/PaddlePaddle/Serving/blob/develop/doc/Docker_Images_CN.md) + +#### Q: Paddle Serving 是否支持本地离线安装 + +**A:** 支持离线部署,需要把一些相关的[依赖包](https://github.com/PaddlePaddle/Serving/blob/develop/doc/Compile_CN.md) 提前准备安装好 + +#### Q: Docker 中启动 Server IP地址 127.0.0.1 与 0.0.0.0 差异 +**A:** 必须将容器的主进程设置为绑定到特殊的 `0.0.0.0` 表示“所有接口”地址,否则它将无法从容器外部访问。在 Docker 中 `127.0.0.1` 仅代表“这个容器”,而不是“这台机器”。如果您从容器建立到 `127.0.0.1` 的出站连接,它将返回到同一个容器;如果您将服务器绑定到 `127.0.0.1`,接收不到来自外部的连接。 + + + +## 预测问题 + +#### Q: 使用 GPU 第一次预测时特别慢,如何调整 RPC 服务的等待时间避免超时? + +**A:** GPU 第一次预测需要初始化。使用 `set_rpc_timeout_ms` 设置更长的等待时间,单位为毫秒,默认时间为20秒。 + +示例: + +``` +from paddle_serving_client import Client + +client = Client() +client.load_client_config(sys.argv[1]) +client.set_rpc_timeout_ms(100000) +client.connect(["127.0.0.1:9393"]) +``` +#### Q: 执行 GPU 预测时遇到 `ExternalError: Cudnn error, CUDNN_STATUS_BAD_PARAM at (../batch_norm_op.cu:198)`错误 + +**A:** 将 cuDNN 的 lib64路径添加到 `LD_LIBRARY_PATH`,安装自 `pypi` 的 Paddle Serving 中 `post9` 版本使用的是 `cuDNN 7.3,post10` 使用的是 `cuDNN 7.5。如果是使用自己编译的 Paddle Serving,可以在 `log/serving.INFO` 日志文件中查看对应的 cuDNN 版本。 + +#### Q: 执行 GPU 预测时遇到 `Error: Failed to find dynamic library: libcublas.so` + +**A:** 将 CUDA 的 lib64路径添加到 `LD_LIBRARY_PATH`, post9 版本的 Paddle Serving 使用的是 `cuda 9.0,post10` 版本使用的 `cuda 10.0`。 + +#### Q: Client 的 `fetch var`变量名如何设置 + +**A:** 通过[保存用于 Serving 部署的模型参数](https://github.com/PaddlePaddle/Serving/blob/v0.8.3/doc/Save_EN.md) 生成配置文件 `serving_server_conf.prototxt`,获取需要的变量名。 + +#### Q: 如何使用多语言客户端 + +**A:** 多语言客户端要与多语言服务端配套使用。当前版本下(0.8.3) + +#### Q: 如何在 Windows 下使用 Paddle Serving + +**A:** 在 Windows 上可以运行多语言 RPC 客户端,或使用 HTTP 方式访问。 + +#### Q: 报错信息 `libnvinfer.so: cannot open shared object file: No such file or directory)` + + **A:** 没有安装 TensorRT,安装 TensorRT 请参考链接: https://blog.csdn.net/hesongzefairy/article/details/105343525 + + + +## 日志排查 + +#### Q: 部署和预测中的日志信息在哪里查看? + +**A:** Server 的日志分为两部分,一部分打印到标准输出,一部分打印到启动服务时的目录下的 `log/serving.INFO` 文件中。 +Client 的日志直接打印到标准输出。 +通过在部署服务之前 'export GLOG_v=3'可以输出更为详细的日志信息。 + +#### Q: C++ Serving 启动成功后,日志文件在哪里,在哪里设置日志级别? + +**A:** C++ Serving 服务的所有日志在程序运行的当前目录的`log/`目录下,分为 serving.INFO、serving.WARNING 和 serving.ERROR 文件。 +1)警告是 `glog` 组件打印的,告知 `glog` 初始化之前日志打印在 STDERR; +2)一般采用 `GLOG_v` 方式启动服务同时设置日志级别。 + +例如: +``` +GLOG_v=2 python -m paddle_serving_server.serve --model xxx_conf/ --port 9999 +``` + +#### Q: Python Pipeline 启动成功后,日志文件在哪里,在哪里设置日志级别? + +**A:** Python Pipeline 服务的日志信息请阅读[Python Pipeline 设计](./7-1_Python_Pipeline_Design_CN.md) 第三节服务日志。 + +#### Q: (GLOG_v=2下)Server 日志一切正常,但 Client 始终得不到正确的预测结果 + +**A:** 可能是配置文件有问题,检查下配置文件(is_load_tensor,fetch_type等有没有问题) + +#### Q: 如何给 Server 传递 Logid + +**A:** Logid 默认为0,Client 通过在 predict 函数中指定 log_id 参数 + +#### Q: C++ Serving 出现问题如何调试和定位 + +**A:** 推荐您使用 GDB 进行定位和调试,如果您使用 Serving 的 Docker,在启动容器时候,需要加上 `docker run --privileged `参数,开启特权模式,这样才能在 docker 容器中使用 GDB 定位和调试 +如果 C++ Serving 出现 `core dump`,一般会生成 core 文件,若没有,运行 `ulimit -c unlimited`命令开启core dump。 +使用 GDB 调试 core 文件的方法为:`gdb <可执行文件> `,进入后输入 `bt` 指令显示栈信息。 + +注意:可执行文件路径是 C++ bin 文件的路径,而不是 python 命令,一般为类似下面的这种 `/usr/local/lib/python3.6/site-packages/paddle_serving_server/serving-gpu-102-0.7.0/serving` diff --git a/doc/Offical_Docs/3-0_QuickStart_Int_CN.md b/doc/Offical_Docs/3-0_QuickStart_Int_CN.md index 9562c363e..827982e0c 100644 --- a/doc/Offical_Docs/3-0_QuickStart_Int_CN.md +++ b/doc/Offical_Docs/3-0_QuickStart_Int_CN.md @@ -1,10 +1,9 @@ # 快速开始案例部署 您可以通过以下 Paddle Serving 快速开始案例,分别了解到 C++ Serving 与 Python Pipeline 2种框架的部署方法。 -- [使用 C++ Serving 部署 Resnet50 模型案例]() -- [使用 Python Pipeline 部署 OCR 模型案例]() +- [使用 C++ Serving 部署 Resnet50 模型案例](./3-1_QuickStart_Cpp_Resnet_CN.md) +- [使用 Python Pipeline 部署 OCR 模型案例](./3-2_QuickStart_Pipeline_OCR_CN.md) 通过阅读以下内容掌握 Paddle Serving 基础功能以及2种框架特性和使用指南: -- [基础功能]() -- [进阶 C++ Serving 介绍]() -- [进阶 Python Pipeline 介绍]() +- [进阶 C++ Serving 介绍](./doc/Offical_Docs/6-0_C++_Serving_Advanced_Introduction_CN.md) +- [进阶 Python Pipeline 介绍](./7-0_Python_Pipeline_Int_CN.md) diff --git a/doc/Offical_Docs/3-1_QuickStart_Cpp_Resnet_CN.md b/doc/Offical_Docs/3-1_QuickStart_Cpp_Resnet_CN.md new file mode 100644 index 000000000..115df510d --- /dev/null +++ b/doc/Offical_Docs/3-1_QuickStart_Cpp_Resnet_CN.md @@ -0,0 +1,111 @@ +# C++ Serving 快速部署案例 + +- [模型介绍](#1) +- [部署步骤](#2) + - [2.1 保存模型](#2.1) + - [2.2 保存 Serving 部署的模型参数](#2.2) + - [2.3 启动服务](#2.3) + - [2.4 启动客户端](#2.4) + + + +## 模型介绍 +残差网络(ResNet)于2015年被提出,摘得 ImageNet 榜单5项第一,成绩大幅领先第二名,是 CNN 图像史上的一个里程碑。 + +从经验上看,网络结构层数越多,有利于复杂特征的提取,从理论上讲会取得更好的结果。但是,随着网络层数的增加,准确率会趋于饱和甚至会下降,称为退化问题(Degradation problem)。其根本原因是深层网络出现梯度消失或者梯度爆炸的问题。残差网络利用短路机制加入了残差单元,解决了退化问题。 + +ResNet 网络是参考了 VGG19 网络,加入残差单元,ResNet50 有50层网络。 + + + +## 部署步骤 + +前提条件是你已完成[环境安装](./2-0_Index_CN.md)步骤,并已验证环境安装成功,此处不在赘述。 + +克隆 Serving 仓库后,进入 `examples/C++/PaddleClas/resnet_50_vd` 目录下,已提供程序、配置和性能测试脚本。 +``` +git clone https://github.com/PaddlePaddle/Serving +``` + +按以下5个步骤操作即可实现模型部署。 +- 一.获取模型 +- 二.保存 Serving 部署的模型参数 +- 三.启动服务 +- 四.启动客户端 + + + +**一.获取模型** + +下载 `ResNet50_vd` 的 推理模型,更多模型信息请阅读[ImageNet 预训练模型库](https://github.com/PaddlePaddle/PaddleClas/blob/8fa820f5c81edb1e7a2b222306a307bc27bff90f/docs/zh_CN/algorithm_introduction/ImageNet_models.md) +``` +wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/ResNet50_vd_infer.tar && tar xf ResNet50_vd_infer.tar + +``` + + + +**二.保存 Serving 部署的模型参数** + +用 `paddle_serving_client` 把下载的推理模型转换成易于 Serving 部署的模型格式,完整信息请参考 [保存用于 Serving 部署的模型参数](./5-1_Save_Model_Params_CN.md)。 + +``` +python3 -m paddle_serving_client.convert --dirname ./ResNet50_vd_infer/ \ + --model_filename inference.pdmodel \ + --params_filename inference.pdiparams \ + --serving_server ./ResNet50_vd_serving/ \ + --serving_client ./ResNet50_vd_client/ +``` + +保存参数后,会在当前文件夹多出 `ResNet50_vd_serving` 和 `ResNet50_vd_client` 的文件夹,分别用户服务端和客户端。 +``` +├── daisy.jpg +├── http_client.py +├── imagenet.label +├── ResNet50_vd_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ResNet50_vd_infer +│   ├── inference.pdiparams +│   ├── inference.pdiparams.info +│   └── inference.pdmodel +├── ResNet50_vd_serving +│   ├── fluid_time_file +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── rpc_client.py +``` + + + +**三.启动服务** + +C++ Serving 服务可以指定一个网络端口同时接收 HTTP、gRPC 和 bRPC 请求。命令参数 `--model` 指定模型路径,`--gpu_ids` 指定 GPU 卡,`--port` 指定端口。 + +``` +python3 -m paddle_serving_server.serve --model ResNet50_vd_serving --gpu_ids 0 --port 9394 +``` + + + +**四.启动客户端** + +HTTP 客户端程序 `http_client.py` 创建请求参数,向服务端发起 HTTP 请求。 + +``` +python3 http_client.py +``` + +RPC 客户端程序 `rpc_client.py` 创建请求参数,向服务端发起 gRPC 请求。 + +``` +python3 rpc_client.py +``` + +成功运行后,模型预测的结果会打印如下: + +``` +prediction: daisy, probability: 0.9341399073600769 +``` diff --git a/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md b/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md index 3180780a3..d7772a2be 100644 --- a/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md +++ b/doc/Offical_Docs/3-2_QuickStart_Pipeline_OCR_CN.md @@ -1,7 +1,19 @@ # Python Pipeline 快速部署案例 +- [模型介绍](#1) +- [部署步骤](#2) + - [获取模型与保存模型参数](#2.1) + - [保存 Serving 部署的模型参数](#2.2) + - [下载测试数据集(可选)](#2.3) + - [修改配置文件(可选)](#2.4) + - [代码与配置信息绑定](#2.5) + - [启动服务与验证](#2.6) + + Python Pipeline 框架使用 Python 语言开发,是一套端到端多模型组合服务编程框架,旨在降低编程门槛,提高资源使用率(尤其是GPU设备),提升整体服务的预估效率。详细设计参考[ Python Pipeline 设计与使用]() + + ## 模型介绍 OCR 技术一般指光学字符识别。 OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。 @@ -16,8 +28,9 @@ PaddleOCR 提供的 PP-OCR 系列模型覆盖轻量级服务端、轻量级移 | 中英文超轻量移动端模型 | 9.4M | ch_ppocr_mobile_v2.0_xx | 移动端| | 中英文通用服务端模型 | 143.4M | ch_ppocr_server_v2.0_xx | 服务器端 | + -## 模型步骤 +## 部署步骤 前提条件是你已完成[环境安装]()步骤,并已验证环境安装成功,此处不在赘述。 @@ -25,13 +38,20 @@ PaddleOCR 提供的 PP-OCR 系列模型覆盖轻量级服务端、轻量级移 ``` git clone https://github.com/PaddlePaddle/Serving ``` -按以下5个步骤操作即可实现 OCR 示例部署。 +通过6个步骤操作即可实现 OCR 示例部署。 +- 一.获取模型 +- 二.保存 Serving 部署的模型参数 +- 三.下载测试数据集(可选) +- 四.修改 `config.yml` 配置(可选) +- 五.代码与配置信息绑定 +- 六.启动服务与验证 + + -**一.获取模型** +**一.获取模型与保存模型参数** 本章节选用中英文超轻量模型 ch_PP-OCRv2_xx 制作部署案例,模型体积小,效果很好,属于性价比很高的选择。 -为了节省大家的时间,已将预训练模型使用[保存模型服务化参数]()方法打包成压缩包,下载并解压即可使用。如你自训练的模型需经过保存模型服务化参数步骤才能服务化部署。 ``` python3 -m paddle_serving_app.package --get_model ocr_rec tar -xzvf ocr_rec.tar.gz @@ -39,15 +59,27 @@ python3 -m paddle_serving_app.package --get_model ocr_det tar -xzvf ocr_det.tar.gz ``` -**二.下载测试数据集(可选)** -第二步,下载测试图片集,如使用自有测试数据集,可忽略此步骤。 + + +**二.保存 Serving 部署的模型参数** + +为了节省大家的时间,已将预训练模型使用[保存用于 Serving 部署的模型参数](./5-1_Save_Model_Params_CN.md)方法打包成压缩包,下载并解压即可使用。如你自训练的模型需经过保存模型服务化参数步骤才能服务化部署。 + + + +**三.下载测试数据集(可选)** + +下载测试图片集,如使用自有测试数据集,可忽略此步骤。 ``` wget --no-check-certificate https://paddle-serving.bj.bcebos.com/ocr/test_imgs.tar tar xf test_imgs.tar ``` -**三.修改 Config.yml 配置(可选)** -第三步,通过修改配置文件设置服务、图、OP 级别属性。如果使用默认配置,此步骤可忽略。 + + +**四.修改配置文件(可选)** + +修改配置文件 `config.yml` 设置服务、图、OP 级别属性。如果使用默认配置,此步骤可忽略。 由于配置项较多,仅重点介绍部分核心选项的使用,完整配置选项说明可参考[ 配置说明]() ``` @@ -155,8 +187,10 @@ op: #min_subgraph_size: 3 ``` + + +**五.代码与配置信息绑定** -**四.代码与配置信息绑定 ** 第四步,实现代码和配置文件 Config.yml 绑定,以及设置多模型组合关系。具体包括: 1. 重写模型前后处理: @@ -199,15 +233,52 @@ ocr_service.prepare_pipeline_config("config.yml") ocr_service.run_service() ``` + -**五.启动服务与验证** +**六.启动服务与验证** -运行程序 `web_service.py` 启动服务端 +启动服务前,可看到程序路径下所有文件路径如下: +``` +. +├── 7.jpg +├── benchmark.py +├── benchmark.sh +├── config.yml +├── imgs +│   └── ggg.png +├── ocr_det_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ocr_det_model +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── ocr_rec_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ocr_rec_model +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── pipeline_http_client.py +├── pipeline_rpc_client.py +├── ppocr_keys_v1.txt +├── ProcessInfo.json +├── README_CN.md +├── README.md +└── web_service.py +``` + +运行服务程序 `web_service.py` 启动服务端,接收客户端请求,采用图执行引擎执行推理预测。 ``` # Run Server python3 web_service.py &>log.txt & ``` +客户端程序 `pipeline_http_client.py` 注册服务端地址,并发送客户端请求。 + 启动客户端前,要确认 URL://{ip}:{port}/{name}/{method} 。本项目中 {name} 即是 web_service.py 中 OcrService name 参数 "ocr"。 {method} 默认为 "prediction" ``` diff --git a/doc/Offical_Docs/4-0_ModelZoo_CN.md b/doc/Offical_Docs/4-0_ModelZoo_CN.md index b16103530..80f4b31e8 100644 --- a/doc/Offical_Docs/4-0_ModelZoo_CN.md +++ b/doc/Offical_Docs/4-0_ModelZoo_CN.md @@ -1,8 +1,28 @@ # 模型库 +- [模型分类](#1) + - [1.1 图像分类与识别](#1.1) + - [1.2 文本类](#1.2) + - [1.3 推荐系统](#1.3) + - [1.4 人脸识别](#1.4) + - [1.5 目标检测](#1.5) + - [1.6 文字识别](#1.6) + - [1.7 图像分割](#1.7) + - [1.8 关键点检测](#1.8) + - [1.9 视频理解](#1.9) +- [模型示例库](#2) + Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例。 -**一.图像分类与识别**模型部署示例请参阅下表: + + +## 模型分类 + + + +**一.图像分类与识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 图像识别 |pp_shitu | PaddleClas | [C++ Serving](../examples/C++/PaddleClas/pp_shitu) | [.tar.gz](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/inference/serving/pp_shitu.tar.gz) | @@ -22,7 +42,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 --- -**二.文本类**模型部署示例请参阅下表: + + +**二.文本类** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 文本生成 | bert_chinese_L-12_H-768_A-12 | PaddleNLP | [C++ Serving](../examples/C++/PaddleNLP/bert)
[Pipeline Serving](../examples/Pipeline/PaddleNLP/bert) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/text/SemanticModel/bert_chinese_L-12_H-768_A-12.tar.gz) | @@ -33,8 +57,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 抽取文本向量| In-batch Negatives | PaddleNLP | [Pipeline Serving](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/neural_search/recall/in_batch_negative) | [model](https://bj.bcebos.com/v1/paddlenlp/models/inbatch_model.zip) | --- + + +**三.推荐系统** -**三.推荐系统**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | CTR预估 | criteo_ctr | PaddleRec | [C++ Serving](../examples/C++/PaddleRec/criteo_ctr) | [.tar.gz](https://paddle-serving.bj.bcebos.com/criteo_ctr_example/criteo_ctr_demo_model.tar.gz) | @@ -42,15 +69,21 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 内容推荐 | wide&deep | PaddleRec | [C++ Serving](https://github.com/PaddlePaddle/PaddleRec/blob/release/2.1.0/doc/serving.md) | [model](https://github.com/PaddlePaddle/PaddleRec/blob/release/2.1.0/models/rank/wide_deep/README.md) | --- + -**四.人脸识别**模型部署示例请参阅下表: +**四.人脸识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 人脸识别|blazeface | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/blazeface) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ObjectDetection/blazeface.tar.gz) |C++ Serving| --- + + +**五.目标检测** -**五.目标检测**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 目标检测 |cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/cascade_rcnn) | [.tar.gz](https://paddle-serving.bj.bcebos.com/pddet_demo/cascade_mask_rcnn_r50_vd_fpn_ssld_2x_coco_serving.tar.gz) | @@ -65,8 +98,11 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 目标检测 |YOLOv3-DarkNet | PaddleDetection | [C++ Serving](https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.3/deploy/serving) | [.pdparams](https://paddledet.bj.bcebos.com/models/yolov3_darknet53_270e_coco.pdparams)
[.yml](https://github.com/PaddlePaddle/PaddleDetection/blob/develop/configs/yolov3/yolov3_darknet53_270e_coco.yml) | --- + -**六.文字识别**模型部署示例请参阅下表: +**六.文字识别** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 文字识别 |ocr_rec | PaddleOCR | [C++ Serving](../examples/C++/PaddleOCR/ocr)
[Pipeline Serving](../examples/Pipeline/PaddleOCR/ocr) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/OCR/ocr_rec.tar.gz) | @@ -79,27 +115,40 @@ Paddle Serving 已实现9个类别,共计46个模型的服务化部署示例 | 文字识别 |ch_ppocr_server_v2.0 | PaddleOCR | [Pipeline Serving](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/deploy/pdserving/README.md) | [model](https://github.com/PaddlePaddle/PaddleOCR) | --- + + +**七.图像分割** -**七.图像分割**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 图像分割 | deeplabv3 | PaddleSeg | [C++ Serving](../examples/C++/PaddleSeg/deeplabv3) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ImageSegmentation/deeplabv3.tar.gz) | | 图像分割 | unet | PaddleSeg | [C++ Serving](../examples/C++/PaddleSeg/unet_for_image_seg) | [.tar.gz](https://paddle-serving.bj.bcebos.com/paddle_hub_models/image/ImageSegmentation/unet.tar.gz) | --- + -**八.关键点检测**模型部署示例请参阅下表: +**八.关键点检测** + +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 关键点检测 |faster_rcnn_hrnetv2p_w18_1x | PaddleDetection | [C++ Serving](../examples/C++/PaddleDetection/faster_rcnn_hrnetv2p_w18_1x) | [.tar.gz](https://paddle-serving.bj.bcebos.com/pddet_demo/faster_rcnn_hrnetv2p_w18_1x.tar.gz) | --- + + +**九.视频理解** -**九.视频理解**模型部署示例请参阅下表: +模型部署示例请参阅下表: | 场景| 模型 | 类型 | 示例使用的框架 | 下载 | | --- | --- | --- | --- | ---- | | 视频理解 |PPTSN_K400 | PaddleVideo | [Pipeline Serving](../examples/Pipeline/PaddleVideo/PPTSN_K400) | [model](https://paddle-serving.bj.bcebos.com/model/PaddleVideo/PPTSN_K400.tar) | +--- + + +## 模型示例库 Paddle Serving 代码库下模型部署示例请参考 [examples](../examples) 目录。更多 Paddle Serving 部署模型请参考 [wholechain](https://www.paddlepaddle.org.cn/wholechain)。 diff --git a/doc/Offical_Docs/5-1_Save_Model_Params_CN.md b/doc/Offical_Docs/5-1_Save_Model_Params_CN.md new file mode 100644 index 000000000..2faaae7b4 --- /dev/null +++ b/doc/Offical_Docs/5-1_Save_Model_Params_CN.md @@ -0,0 +1,188 @@ +# 保存用于 Serving 部署的模型参数 + +- [背景介绍](#1) +- [功能设计](#2) +- [功能使用](#3) + - [PYTHON 命令执行](#3.1) + - [代码引入执行](#3.2) +- [Serving 部署](#4) + - [服务端部署示例](#4.1) + - [客户端部署示例](#4.2) + + + +## 背景介绍 + +模型参数信息保存在模型文件中,为什么还要保存用于 Paddle Serving 部署的模型参数呢,原因有3个: + +1. 服务化场景分为客户端和服务端,服务端加载模型,而在客户端没有模型信息,但需要在客户端需实现数据拼装和类型转换。 +2. 模型升级过程中 `feed vars` 和 `fetch vars` 的名称变化会导致代码升级,通过增加一个 `alias_name` 字段映射名称,代码无需升级。 +3. 部署 `Web` 服务,并使用 `URL` 方式访问时,请求信息中缺少类型和维度信息,在服务端推理前需要进行转换。 + + + +## 功能设计 + +飞桨训推一体框架中,从动态图模型训练到静态图推理部署,一体化流程如下所示 +``` +①动态图训练 → ②模型动转静 → ③静态模型 → ④模型保存 → ⑤Serving 部署 +``` +在飞桨框架2.1对模型与参数的保存与载入相关接口进行了梳理,完整文档参考[模型保存与载入](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/02_paddle2.0_develop/08_model_save_load_cn.html) +- 对于训练调优场景,我们推荐使用 `paddle.save/load` 保存和载入模型; +- 对于推理部署场景,我们推荐使用 `paddle.jit.save/load`(动态图)和 `paddle.static.save/load_inference_model` (静态图)保存载入模型; + +Paddle Serving 模型参数保存接口定位是在 `②模型动转静` 导出 `③静态模型`后,使用 `paddle.static.load_inference_model` 接口加载模型,和 `paddle.static.save_vars` 接口保存模型参数。 + +生成的模型参数信息保存在 `paddle_serving_server/client.prototxt` 文件中,其格式如下 +``` +feed_var { + name: "x" + alias_name: "image" + is_lod_tensor: false + feed_type: 1 + shape: 3 + shape: 960 + shape: 960 +} +fetch_var { + name: "save_infer_model/scale_0.tmp_1" + alias_name: "save_infer_model/scale_0.tmp_1" + is_lod_tensor: false + fetch_type: 1 + shape: 1 + shape: 960 + shape: 960 +} +``` + +| 参数 | 描述 | +|------|---------| +| name | 实际变量名 | +| alias_name | 变量别名,与 name 的关联业务场景中变量名 | +| is_lod_tensor | 是否为 LOD Tensor | +| feed_type | feed 变量类型| +| fetch_type | fetch 变量类型| +| shape 数组 | 变量的 Shape 信息 | + +feed 与 fetch 变量的类型列表如下: +| 类型 | 类型值 | +|------|------| +| int64 | 0 | +| float32 |1 | +| int32 | 2 | +| float64 | 3 | +| int16 | 4 | +| float16 | 5 | +| bfloat16 | 6 | +| uint8 | 7 | +| int8 | 8 | +| bool | 9 | +| complex64 | 10 +| complex128 | 11 | + + + +## 功能使用 + +Paddle 推理模型有3种形式,每种形式的读模型的方式都不同,散列方式必须以路径方式加载,其余2种采用目录或文件方式均可。 +1) Paddle 2.0前版本:`__model__`, `__params__` +2) Paddle 2.0后版本:`*.pdmodel`, `*.pdiparams` +3) 散列:`__model__`, `conv2d_1.w_0`, `conv2d_2.w_0`, `fc_1.w_0`, `conv2d_1.b_0`, ... + +`paddle_serving_client.convert` 接口既支持 PYTHON 命令方式执行,又支持 代码中引入运行。 + + +| 参数 | 类型 | 默认值 | 描述 | +|--------------|------|-----------|--------------------------------| +| `dirname` | str | - | 需要转换的模型文件存储路径,Program结构文件和参数文件均保存在此目录。| +| `serving_server` | str | `"serving_server"` | 转换后的模型文件和配置文件的存储路径。默认值为serving_server | +| `serving_client` | str | `"serving_client"` | 转换后的客户端配置文件存储路径。默认值为serving_client | +| `model_filename` | str | None | 存储需要转换的模型Inference Program结构的文件名称。如果设置为None,则使用 `__model__` 作为默认的文件名 | +| `params_filename` | str | None | 存储需要转换的模型所有参数的文件名称。当且仅当所有模型参数被保>存在一个单独的二进制文件中,它才需要被指定。如果模型参数是存储在各自分离的文件中,设置它的值为None | + + + +**一.PYTHON 命令执行** + +首先需要安装 `paddle_serivng_client` 包,以目录方式加载模型。 + +示例一,是以模型路径方式加载模型,适用于全部3种类型。 +```python +python3 -m paddle_serving_client.convert --dirname ./your_inference_model_dir +``` + +示例二,以指定加载 `当前路径` 下模型 `dygraph_model.pdmodel` 和 `dygraph_model.pdiparams`,保存结果在 `serving_server` 和 `serving_client` 目录。 +```python +python3 -m paddle_serving_client.convert --dirname . --model_filename dygraph_model.pdmodel --params_filename dygraph_model.pdiparams --serving_server serving_server --serving_client serving_client +``` + + + +**二.代码引入执行** + +代码引入执行方式,通过 `import io` 包并调用 `inference_model_to_serving` 实现模型参数保存。 +```python +import paddle_serving_client.io as serving_io +serving_io.inference_model_to_serving(dirname, serving_server="serving_server", serving_client="serving_client", model_filename=None, params_filename=None) +``` + + + +## Serving 部署 +生成完的模型可直接用于服务化推理,服务端使用和客户端使用。 + + + +**一.服务端部署示例** + +示例一:C++ Serving 启动服务 +``` +python3 -m paddle_serving_server.serve --model serving_server --port 9393 --gpu_id 0 +``` + +示例二:Python Pipeline 启动服务,在 `config.yml` 中指定模型路径 +``` +op: + det: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 6 + + #当op配置没有server_endpoints时,从local_service_conf读取本地服务配置 + local_service_conf: + #client类型,包括brpc, grpc和local_predictor.local_predictor不启动Serving服务,进程内预测 + client_type: local_predictor + + #det模型路径 + model_config: ocr_det_model + + #Fetch结果列表,以client_config中fetch_var的alias_name为准 + fetch_list: ["save_infer_model/scale_0.tmp_1"] + + # device_type, 0=cpu, 1=gpu, 2=tensorRT, 3=arm cpu, 4=kunlun xpu + device_type: 0 +``` + + + +**二.客户端部署示例** + +通过 `client` 对象的 `load_client_config` 接口加载模型配置信息 +``` +from paddle_serving_client import Client +from paddle_serving_app.reader import Sequential, File2Image, Resize, CenterCrop +from paddle_serving_app.reader import RGB2BGR, Transpose, Div, Normalize + +client = Client() +client.load_client_config( + "serving_client/serving_client_conf.prototxt") +client.connect(["127.0.0.1:9393"]) + +seq = Sequential([ + File2Image(), Resize(256), CenterCrop(224), RGB2BGR(), Transpose((2, 0, 1)), + Div(255), Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225], True) +]) + +image_file = "daisy.jpg" +img = seq(image_file) +fetch_map = client.predict(feed={"inputs": img}, fetch=["save_infer_model/scale_0.tmp_0"]) +``` diff --git a/doc/Offical_Docs/6-1_Cpp_Asynchronous_Framwork_CN.md b/doc/Offical_Docs/6-1_Cpp_Asynchronous_Framwork_CN.md new file mode 100644 index 000000000..7e9c4ed77 --- /dev/null +++ b/doc/Offical_Docs/6-1_Cpp_Asynchronous_Framwork_CN.md @@ -0,0 +1,167 @@ +# C++ Serving 异步模式 + +- [设计方案](#1) + - [网络同步线程](#1.1) + - [异步调度线程](#1.2) + - [动态批量](#1.3) +- [使用案例](#2) + - [开启同步模式](#2.1) + - [开启异步模式](#2.2) +- [性能测试](#3) + - [测试结果](#3.1) + - [测试数据](#3.2) + + + +## 设计方案 + + + +**一.同步网络线程** + +Paddle Serving 的网络框架层面是同步处理模式,即 bRPC 网络处理线程从系统内核拿到完整请求数据后( epoll 模式),在同一线程内完成业务处理,C++ Serving 默认使用同步模式。同步模式比较简单直接,适用于模型预测时间短,或单个 Request 请求批量较大的情况。 + +

+ +

+ +Server 端线程数 N = 模型预测引擎数 N = 同时处理 Request 请求数 N,超发的 Request 请求需要等待当前线程处理结束后才能得到响应和处理。 + + + +**二.异步调度线程** + +为了提高计算芯片吞吐和计算资源利用率,C++ Serving 在调度层实现异步多线程并发合并请求,实现动态批量推理。异步模型主要适用于模型支持批量,单个 Request 请求的无批量或较小,单次预测时间较长的情况。 + +

+ +

+ +异步模式下,Server 端 N 个线程只负责接收 Request 请求,实际调用预测引擎是在异步框架的线程池中,异步框架的线程数可以由配置选项来指定。为了方便理解,我们假设每个 Request 请求批量均为1,此时异步框架会尽可能多得从请求池中取 n(n≤M)个 Request 并将其拼装为1个 Request(batch=n),调用1次预测引擎,得到1个 Response(batch = n),再将其对应拆分为 n 个 Response 作为返回结果。 + + + +**三.动态批量** + +通常,异步框架合并多个请求的前提是所有请求的 `feed var` 的维度除 batch 维度外必须是相同的。例如,以 OCR 文字识别案例中检测模型为例,A 请求的 `x` 变量的 shape 是 [1, 3, 960, 960],B 请求的 `x` 变量的 shape 是 [2, 3, 960, 960],虽然第一个维度值不相同,但第一个维度属于 `batch` 维度,因此,请求 A 和 请求 B 可以合并。C 请求的 `x` 变量的 shape 是 [1, 3, 640, 480],由于除了 `batch` 维度外还有2个维度值不同,A 和 C 不能直接合并。 + +从经验来看,当2个请求的同一个变量 shape 维度的数量相等时,通过 `padding` 补0的方式按最大 shape 值对齐即可。即 C 请求的 shape 补齐到 [1, 3, 960, 960],那么就可以与 A 和 B 请求合并了。Paddle Serving 框架实现了动态 Padding 功能补齐 shape。 + +当多个将要合并的请求中有一个 shape 值很大时,所有请求的 shape 都要按最大补齐,导致计算量成倍增长。Paddle Serving 设计了一套合并策略,满足任何一个条件均可合并: + +- 条件 1:绝对值差的字节数小于 **1024** 字节,评估补齐绝对长度 +- 条件 2:相似度的乘积大于 **50%**,评估相似度,评估补齐绝对值整体数据量比例 + +场景1:`Shape-1 = [batch, 500, 500], Shape-2 = [batch, 400, 400]`。此时,`绝对值差 = 500*500 - 400*400 = 90000` 字节,`相对误差= (400/500) * (400/500) = 0.8*0.8 = 0.64`,满足条件1,不满足条件2,触发动态 Padding。 + +场景2:`Shape-1 = [batch, 1, 1], Shape-2 = [batch, 2, 2]`。此时,`绝对值差 = 2*2 - 1*1 = 3`字节,`相对误差 = (1/2) * (1/2) = 0.5*0.5 = 0.25`,满足条件2,不满足条件1,触发动态 Padding。 + +场景3:`Shape-1 = [batch, 3, 320, 320], Shape-2 = [batch, 3, 960, 960]`。此时,`绝对值差 = 3*960*960 - 3*320*320 = 2457600`字节,`相对误差 = (3/3) * (320/960) * (320/960) = 0.3*0.3 = 0.09`,条件1和条件2均不满足,未触发动态 Padding。 + + + +## 使用案例 + + + +**一.开启同步模式** + +启动命令不使用 `--runtime_thread_num` 和 `--batch_infer_size` 时,属于同步处理模式,未开启异步模式。`--thread 16` 表示启动16个同步网络处理线程。 +``` +python3 -m paddle_serving_server.serve --model uci_housing_model --thread 16 --port 9292 +``` + + + +**二.开启异步模式** + +启动命令使用 `--runtime_thread_num 2` 和 `--batch_infer_size 32` 开启异步模式,Serving 框架会启动2个异步线程,单次合并最大批量为32,自动开启动态 Padding。 +``` +python3 -m paddle_serving_server.serve --model uci_housing_model --thread 16 --port 9292 --runtime_thread_num 4 --batch_infer_size 32 --ir_optim --gpu_multi_stream --gpu_ids 0 +``` + + + +## 性能测试 + + +- GPU:Tesla P4 7611 MiB +- CUDA:cuda11.2-cudnn8-trt8 +- Python 版本:python3.7 +- 模型:ResNet_v2_50 +- 测试数据:构造全1输入,单client请求100次,shape 范围(1, 224 ± 50, 224 ± 50) + +同步模式启动命令: +``` +python3 -m paddle_serving_server.serve --model resnet_v2_50_imagenet_model --port 9393 --thread 8 --ir_optim --gpu_multi_stream --gpu_ids 1 --enable_prometheus --prometheus_port 1939 +``` + +异步模式启动命令: +``` +python3 -m paddle_serving_server.serve --model resnet_v2_50_imagenet_model --port 9393 --thread 64 --runtime_thread_num 8 --ir_optim --gpu_multi_stream --gpu_ids 1 --enable_prometheus --prometheus_port 19393 +``` + + + +**一.测试结果** + +使用异步模式,并开启动态批量后,并发测试不同 shape 数据时,吞吐性能大幅提升。 +

+ +
+ +**二.测试数据** + +1. 同步模式 + +| client_num | batch_size |CPU_util_pre(%) |CPU_util(%) |GPU_memory(mb) |GPU_util(%) |qps(samples/s) |total count |mean(ms) |median(ms) |80 percent(ms) |90 percent(ms) |99 percent(ms) |total cost(s) |each cost(s)|infer_count_total|infer_cost_total(ms)|infer_cost_avg(ms)| +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 1 |1 |1.30 |18.90 |2066 |71.56 |22.938 |100 |43.594 |23.516 |78.118 |78.323 |133.544 |4.4262 |4.3596 |7100.0000 |1666392.70 | 41.1081 | +| 5 |1 |2.00 |28.20 |3668 |92.57 |33.630 |500 |148.673 |39.531 |373.231 |396.306 |419.088 |15.0606 |14.8676 |7600.0000 |1739372.7480| 145.9601 | +|10 |1 |1.90 |29.80 |4202 |91.98 |34.303 |1000 |291.512 |76.728 |613.963 |632.736 |1217.863 |29.8004 |29.1516 |8600.0000 |1974147.7420| 234.7750 | +|20 |1 |4.70 |49.60 |4736 |92.63 |34.359 |2000 |582.089 |154.952 |1239.115 |1813.371 |1858.128 |59.7303 |58.2093 |12100.0000 |2798459.6330 |235.6248 | +|30 |1 |5.70 |65.70 |4736 |92.60 |34.162 |3000 |878.164 |231.121 |2391.687 |2442.744 |2499.963 |89.6546 |87.8168 |17600.0000 |4100408.9560 |236.6877 | +|40 |1 |5.40 |74.40 |5270 |92.44 |34.090 |4000 |1173.373 |306.244 |3037.038 |3070.198 |3134.894 |119.4162 |117.3377 |21600.0000 |5048139.2170 |236.9326| +|50 |1 |1.40 |64.70 |5270 |92.37 |34.031 |5000 |1469.250 |384.327 |3676.812 |3784.330 |4366.862 |149.7041 |146.9254 |26600.0000 |6236269.4230 |237.6260| +|70 |1 |3.70 |79.70 |5270 |91.89 |33.976 |7000 |2060.246 |533.439 |5429.255 |5552.704 |5661.492 |210.1008 |206.0250 |33600.0000 |7905005.9940 |238.3909| + + +2. 异步模式 - 未开启动态批量 + +| client_num | batch_size |CPU_util_pre(%) |CPU_util(%) |GPU_memory(mb) |GPU_util(%) |qps(samples/s) |total count |mean(ms) |median(ms) |80 percent(ms) |90 percent(ms) |99 percent(ms) |total cost(s) |each cost(s)|infer_count_total|infer_cost_total(ms)|infer_cost_avg(ms)| +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 1 |1 |6.20 |13.60 |5170 |71.11 |22.894 |100 |43.677 |23.992 |78.285 |78.788 |123.542 |4.4253 |4.3679 |3695.0000 |745061.9120 |40.6655 | +| 5 |1 |6.10 |32.20 |7306 |89.54 |33.532 |500 |149.109 |43.906 |376.889 |401.999 |422.753 |15.1623 |14.9113 |4184.0000 |816834.2250 |146.7736| +|10 |1 |4.90 |43.60 |7306 |91.55 |38.136 |1000 |262.216 |75.393 |575.788 |632.016 |1247.775 |27.1019 |26.2220 |5107.0000 |1026490.3950 |227.1464| +|20 |1 |5.70 |39.60 |7306 |91.36 |58.601 |2000 |341.287 |145.774 |646.824 |994.748 |1132.979 |38.3915 |34.1291 |7461.0000 |1555234.6260 |229.9113| +|30 |1 |1.30 |45.40 |7484 |91.10 |69.008 |3000 |434.728 |204.347 |959.184 |1092.181 |1661.289 |46.3822 |43.4732 |10289.0000 |2269499.9730 |249.4257| +|40 |1 |3.10 |73.00 |7562 |91.83 |80.956 |4000 |494.091 |272.889 |966.072 |1310.011 |1851.887 |52.0609 |49.4095 |12102.0000 |2678878.2010 |225.8016| +|50 |1 |0.80 |68.00 |7522 |91.10 |83.018 |5000 |602.276 |364.064 |1058.261 |1473.051 |1671.025 |72.9869 |60.2280 |14225.0000 |3256628.2820 |272.1385| +|70 |1 |6.10 |78.40 |7584 |92.02 |65.069 |7000 |1075.777 |474.014 |2411.296 |2705.863 |3409.085 |111.6653 |107.5781 |17974.0000 |4139377.4050 |235.4626 + + + +3. 异步模式 - 开启动态批量 + + +| client_num | batch_size |CPU_util_pre(%) |CPU_util(%) |GPU_memory(mb) |GPU_util(%) |qps(samples/s) |total count |mean(ms) |median(ms) |80 percent(ms) |90 percent(ms) |99 percent(ms) |total cost(s) |each cost(s)|infer_count_total|infer_cost_total(ms)|infer_cost_avg(ms)| +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 1 |1 |1.20 |13.30 |6048 |70.07 |22.417 |100 |44.606 |24.486 |78.365 |78.707 |139.349 |4.5201 |4.4608 |1569.0000 |462418.6390 |41.7646 | +| 5 |1 |1.20 |50.80 |7116 |87.37 |31.106 |500 |160.740 |42.506 |414.903 |458.841 |481.112 |16.3525 |16.0743 |2059.0000 |539439.3300 |157.1851 +|10 |1 |0.80 |26.20 |7264 |88.74 |37.417 |1000 |267.254 |79.452 |604.451 |686.477 |1345.528 |27.9848 |26.7258 |2950.0000 |752428.0570 |239.0446| +|20 |1 |1.50 |32.80 |7264 |89.52 |70.641 |2000 |283.117 |133.441 |516.066 |652.089 |1274.957 |33.0280 |28.3121 |4805.0000 |1210814.5610 |260.5873| +|30 |1 |0.90 |59.10 |7348 |89.57 |84.894 |3000 |353.380 |217.385 |613.587 |757.829 |1277.283 |40.7093 |35.3384 |6924.0000 |1817515.1710 |276.3695| +|40 |1 |1.30 |57.30 |7356 |89.30 |99.853 |4000 |400.584 |204.425 |666.015 |1031.186 |1380.650 |49.4807 |40.0588 |8104.0000 |2200137.0060 |324.2558| +|50 |1 |1.50 |50.60 |7578 |89.04 |121.545 |5000 |411.364 |331.118 |605.809 |874.543 |1285.650 |48.2343 |41.1369 |9350.0000 |2568777.6400 |295.8593| +|70 |1 |3.80 |83.20 |7602 |89.59 |133.568 |7000 |524.073 |382.653 |799.463 |1202.179 |1576.809 |57.2885 |52.4077 |10761.0000 |3013600.9670 |315.2540| diff --git a/doc/Offical_Docs/6-2_Cpp_Serving_Protocols_CN.md b/doc/Offical_Docs/6-2_Cpp_Serving_Protocols_CN.md new file mode 100644 index 000000000..4b31be083 --- /dev/null +++ b/doc/Offical_Docs/6-2_Cpp_Serving_Protocols_CN.md @@ -0,0 +1,290 @@ +# C++ Serving 通讯协议 + +- [网络框架](#0) +- [Tensor](#1) + - [1.1 构建 FLOAT32 Tensor](#1.1) + - [1.2 构建 STRING Tensor](#1.2) +- [Request](#2) + - [2.1 构建 Protobuf Request](#2.1) + - [2.2 构建 Json Request](#2.2) +- [Response](#3) + - [3.1 读取 Response 数据](#3.1) + + + +## 网络框架 + +C++ Serving 基于 [bRPC](https://github.com/apache/incubator-brpc) 网络框架构建服务,支持 bRPC、gRPC 和 RESTful 协议请求。不限于开发语言和框架,甚至 `curl` 方式,只要按照上述协议封装数据并发送,Server 就能够接收、处理和返回结果。 + +对于支持的各种协议我们提供了部分的 Client SDK 示例供用户参考和使用,用户也可以根据自己的需求去开发新的 Client SDK,也欢迎用户添加其他语言/协议(例如 GRPC-Go、GRPC-C++ HTTP2-Go、HTTP2-Java 等)Client SDK 到我们的仓库供其他开发者借鉴和参考。 + +| 通信协议 | 速度 | 是否支持 | 是否提供Client SDK | +|-------------|-----|---------|-------------------| +| bRPC | 最快 | 支持 | [C++]、[Python(Pybind方式)] | +| HTTP 2.0 + Proto | 快 | 不支持 | | +| gRPC | 较快 | 支持 | [Java]、[Python] | +| HTTP 1.1 + Proto | 较快 | 支持 | [Java]、[Python] | +| HTTP 1.1 + Json | 慢 | 支持 | [Java]、[Python]、[Curl] | + + +C++ Serving 请求和应答的数据格式为 protobuf,重要的结构有以下3个: + + + +## Tensor + +[Tensor](https://github.com/PaddlePaddle/Serving/blob/develop/core/general-server/proto/general_model_service.proto#L22) 可以装载多种类型的数据,是 Request 和 Response 的基础单元。Tensor 的定义如下: + +```protobuf +message Tensor { + // VarType: INT64 + repeated int64 int64_data = 1; + + // VarType: FP32 + repeated float float_data = 2; + + // VarType: INT32 + repeated int32 int_data = 3; + + // VarType: FP64 + repeated double float64_data = 4; + + // VarType: UINT32 + repeated uint32 uint32_data = 5; + + // VarType: BOOL + repeated bool bool_data = 6; + + // (No support)VarType: COMPLEX64, 2x represents the real part, 2x+1 + // represents the imaginary part + repeated float complex64_data = 7; + + // (No support)VarType: COMPLEX128, 2x represents the real part, 2x+1 + // represents the imaginary part + repeated double complex128_data = 8; + + // VarType: STRING + repeated string data = 9; + + // Element types: + // 0 => INT64 + // 1 => FP32 + // 2 => INT32 + // 3 => FP64 + // 4 => INT16 + // 5 => FP16 + // 6 => BF16 + // 7 => UINT8 + // 8 => INT8 + // 9 => BOOL + // 10 => COMPLEX64 + // 11 => COMPLEX128 + // 20 => STRING + int32 elem_type = 10; + + // Shape of the tensor, including batch dimensions. + repeated int32 shape = 11; + + // Level of data(LOD), support variable length data, only for fetch tensor + // currently. + repeated int32 lod = 12; + + // Correspond to the variable 'name' in the model description prototxt. + string name = 13; + + // Correspond to the variable 'alias_name' in the model description prototxt. + string alias_name = 14; // get from the Model prototxt + + // VarType: FP16, INT16, INT8, BF16, UINT8 + bytes tensor_content = 15; +}; +``` + +Tensor 结构中重要成员 `elem_type`、`shape`、`lod` 和 `name/alias_name`。 +- name/alias_name: 名称及别名,与模型配置对应 +- elem_type:数据类型,当前支持FLOAT32, INT64, INT32, UINT8, INT8, FLOAT16 +- shape:数据维度 +- lod:变长结构 LoD(Level-of-Detail) Tensor 是 Paddle 的高级特性,是对 Tensor 的一种扩充,用于支持更自由的数据输入。详见[LOD](../LOD_CN.md) + +|elem_type|类型| +|---------|----| +|0|INT64| +|1|FLOAT32| +|2|INT32| +|3|FP64| +|4|INT16| +|5|FP16| +|6|BF16| +|7|UINT8| +|8|INT8| +|9|BOOL| +|10|COMPLEX64| +|11|COMPLEX128 +|20|STRING| + + + +**一.构建 FLOAT32 Tensor** + +创建 Tensor 对象,通过 `mutable_float_data::Resize()` 设置 FLOAT32 类型数据长度,通过 memcpy 函数拷贝数据。 +```C +// 原始数据 +std::vector float_data; +Tensor *tensor = new Tensor; +// 设置维度,可以设置多维 +for (uint32_t j = 0; j < float_shape.size(); ++j) { + tensor->add_shape(float_shape[j]); +} +// 设置LOD信息 +for (uint32_t j = 0; j < float_lod.size(); ++j) { + tensor->add_lod(float_lod[j]); +} +// 设置类型、名称及别名 +tensor->set_elem_type(1); +tensor->set_name(name); +tensor->set_alias_name(alias_name); +// 拷贝数据 +int total_number = float_data.size(); +tensor->mutable_float_data()->Resize(total_number, 0); +memcpy(tensor->mutable_float_data()->mutable_data(), float_data.data(), total_number * sizeof(float)); +``` + + + +**二.构建 STRING Tensor** + +创建 Tensor 对象,通过 `set_tensor_content` 设置 string 类型数据。 +```C +// 原始数据 +std::string string_data; +Tensor *tensor = new Tensor; +for (uint32_t j = 0; j < string_shape.size(); ++j) { + tensor->add_shape(string_shape[j]); +} +for (uint32_t j = 0; j < string_lod.size(); ++j) { + tensor->add_lod(string_lod[j]); +} +tensor->set_elem_type(8); +tensor->set_name(name); +tensor->set_alias_name(alias_name); +tensor->set_tensor_content(string_data); +``` + + + +## Request + +Request 为客户端需要发送的请求数据,其以 Tensor 为基础数据单元,并包含了额外的请求信息。定义如下: + +```protobuf +message Request { + repeated Tensor tensor = 1; + repeated string fetch_var_names = 2; + bool profile_server = 3; + uint64 log_id = 4; +}; +``` + +- fetch_vat_names: 需要获取的输出数据名称,在 `GeneralResponseOP` 会根据该列表进行过滤.请参考模型文件 `serving_client_conf.prototxt` 中的 `fetch_var` 字段下的 `alias_name`。 +- profile_server: 调试参数,打开时会输出性能信息 +- log_id: 请求ID + +当使用 bRPC 或 gRPC 进行请求时,使用 protobuf 或 Json 格式请求数据。 + + + +**一.构建 Protobuf Request** + +创建 Request 对象,通过 `add_tensor` 接口来设置 Tensor。 +```C +Request req; +req.set_log_id(log_id); +for (auto &name : fetch_name) { + req.add_fetch_var_names(name); +} +// 添加Tensor +Tensor *tensor = req.add_tensor(); +... +``` + + +**二.构建 Json Request** + +当使用 RESTful 请求时,可以使用 Json 格式数据,示例如下: + +```JSON +{"tensor":[{"float_data":[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],"elem_type":1,"name":"x","alias_name":"x","shape":[1,13]}],"fetch_var_names":["price"],"log_id":0} +``` + +可参考示例,不用修改整体结构,仅需修改数据类型和数据。 + + + +## Response + +Response 为服务端返回给客户端的结果,包含了 Tensor 数据、错误码、错误信息等。定义如下: + +```protobuf +message Response { + repeated ModelOutput outputs = 1; + repeated int64 profile_time = 2; + // Error code + int32 err_no = 3; + + // Error messages + string err_msg = 4; +}; + +message ModelOutput { + repeated Tensor tensor = 1; + string engine_name = 2; +} +``` + +Response 结构中核心成员: +- profile_time:当设置 `request->set_profile_server(true)` 时,会返回性能信息 +- err_no:错误码 +- err_msg:错误信息 +- engine_name:输出节点名称 + +|err_no|err_msg| +|---------|----| +|0|OK| +|-5000|"Paddle Serving Framework Internal Error."| +|-5001|"Paddle Serving Memory Alloc Error."| +|-5002|"Paddle Serving Array Overflow Error."| +|-5100|"Paddle Serving Op Inference Error."| + + + +**一.读取 Response 数据** + +读取 Response 对象中 Tensor 数据示例如下 +```C +Response res; +uint32_t model_num = res.outputs_size(); +for (uint32_t m_idx = 0; m_idx < model_num; ++m_idx) { + std::string engine_name = output.engine_name(); + int idx = 0; + // 读取tensor维度 + int shape_size = output.tensor(idx).shape_size(); + for (int i = 0; i < shape_size; ++i) { + shape[i] = output.tensor(idx).shape(i); + } + // 读取LOD信息 + int lod_size = output.tensor(idx).lod_size(); + if (lod_size > 0) { + lod.resize(lod_size); + for (int i = 0; i < lod_size; ++i) { + lod[i] = output.tensor(idx).lod(i); + } + } + // 读取float数据 + int size = output.tensor(idx).float_data_size(); + float_data = std::vector( + output.tensor(idx).float_data().begin(), + output.tensor(idx).float_data().begin() + size); + // 读取int8数据 + string_data = output.tensor(idx).tensor_content(); +} +``` diff --git a/doc/Offical_Docs/6-5_Cpp_ABTest_CN.md b/doc/Offical_Docs/6-5_Cpp_ABTest_CN.md new file mode 100644 index 000000000..ff5c7145f --- /dev/null +++ b/doc/Offical_Docs/6-5_Cpp_ABTest_CN.md @@ -0,0 +1,198 @@ +# C++ Serving ABTest + +- [功能设计](#1) +- [使用案例](#2) + - [1.1 安装 Paddle Serving Wheels](#2.1) + - [1.2 下载多个模型并保存模型参数](#2.2) + - [1.3 启动 A,B,C 3个服务](#2.3) + - [1.4 客户端注册 A,B,C 服务端地址](#2.4) + - [1.5 启动客户端并验证结果](#2.5) + +ABTest 是一种功能测试方案,一般是为同一个产品目标制定多种方案,让一部分用户使用 A 方案,另一部分用户使用 B 或 C 方案,根据测试效果,如点击率、转化率等来评价方案的优劣。 + +模型服务化部署框架中,ABTest 属于一个重要的基础功能,为模型迭代升级提供实验环境。Paddle Serving 的 PYTHON SDK 中实现 ABTest 功能,为用户提供简单易用功能测试环境。 + + + +## 功能设计 + +Paddle Serving 的 ABTest 功能是基于 PYTHON SDK 和 多个服务端构成。每个服务端加载不同模型,在客户端上注册多个服务端地址和访问比例,最终确定访问。 + +
+ +
+ +## 使用案例 + +以 [imdb](https://github.com/PaddlePaddle/Serving/tree/develop/examples/C%2B%2B/imdb) 示例为例,介绍 ABTest 的使用,部署有5个步骤: + +1. 安装 Paddle Serving Wheels +2. 下载多个模型并保存模型参数 +3. 启动 A,B,C 3个服务 +4. 客户端注册 A,B,C 服务端地址 +5. 启动客户端并验证结果 + + + +**一.安装 Paddle Serving Wheels** + +使用 ABTest 功能的前提是使用 PYTHON SDK,因此需要安装 `paddle_serving_client` 的 wheel 包。[安装方法](./2-1_Docker_Images_CN.md) 如下: + +``` +pip3 install paddle-serving-client==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple +``` + + + +**二.下载多个模型并保存模型参数** + +本示例已提供了一键下载脚本 `sh get_data.sh`,下载自训练的模型 `bow`、`cnn`和`lstm` 3种不同方式训练的模型。 + +``` +sh get_data.sh +``` + +3种模型的所有文件如下所示,已为用户提前保存模型参数,无需执行保存操作。 +``` +├── imdb_bow_client_conf +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── imdb_bow_model +│   ├── embedding_0.w_0 +│   ├── fc_0.b_0 +│   ├── fc_0.w_0 +│   ├── fc_1.b_0 +│   ├── fc_1.w_0 +│   ├── fc_2.b_0 +│   ├── fc_2.w_0 +│   ├── fluid_time_file +│   ├── __model__ +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── imdb_cnn_client_conf +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── imdb_cnn_model +│   ├── embedding_0.w_0 +│   ├── fc_0.b_0 +│   ├── fc_0.w_0 +│   ├── fc_1.b_0 +│   ├── fc_1.w_0 +│   ├── fluid_time_file +│   ├── __model__ +│   ├── sequence_conv_0.b_0 +│   ├── sequence_conv_0.w_0 +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── imdb_lstm_client_conf +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── imdb_lstm_model +│   ├── embedding_0.w_0 +│   ├── fc_0.b_0 +│   ├── fc_0.w_0 +│   ├── fc_1.b_0 +│   ├── fc_1.w_0 +│   ├── fc_2.b_0 +│   ├── fc_2.w_0 +│   ├── lstm_0.b_0 +│   ├── lstm_0.w_0 +│   ├── __model__ +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +``` + +虽然3个模型的网络结构不同,但是 `feed var` 和 `fetch_var` 都是相同的便于做 ABTest。 +``` +feed_var { + name: "words" + alias_name: "words" + is_lod_tensor: true + feed_type: 0 + shape: -1 +} +fetch_var { + name: "fc_2.tmp_2" + alias_name: "prediction" + is_lod_tensor: false + fetch_type: 1 + shape: 2 +} +``` + + + +**三.启动 A,B,C 3个服务** + +后台启动 `bow`、`cnn` 和 `lstm` 模型服务: + +```python +## 启动 bow 模型服务 +python3 -m paddle_serving_server.serve --model imdb_bow_model/ --port 9297 >/dev/null 2>&1 & + +## 启动 cnn 模型服务 +python3 -m paddle_serving_server.serve --model imdb_cnn_model/ --port 9298 >/dev/null 2>&1 & + +## 启动 lstm 模型服务 +python3 -m paddle_serving_server.serve --model imdb_lstm_model/ --port 9299 >/dev/null 2>&1 & +``` + + + +**四.客户端注册 A,B,C 服务端地址** + +使用 `paddle_serving_client` 中 `Client::add_variant(self, tag, cluster, variant_weight)` 接口注册服务标签、服务地址和权重。框架会将所有权重求和后计算每个服务的比例。本示例中,bow 服务的权重是10,cnn 服务的权重是30, lstm的权重是60,每次请求分别请求到3个服务的比例是10%、30%和60%。 + +``` +from paddle_serving_client import Client +from paddle_serving_app.reader.imdb_reader import IMDBDataset +import sys +import numpy as np + +client = Client() +client.load_client_config(sys.argv[1]) +client.add_variant("bow", ["127.0.0.1:9297"], 10) +client.add_variant("cnn", ["127.0.0.1:9298"], 30) +client.add_variant("lstm", ["127.0.0.1:9299"], 60) +client.connect() +``` +如要在结果中打印请求到了哪个服务,在 `client.predict(feed, fetch, batch, need_variant_tag, logid)` 中设置 `need_variant_tag=True`。 + + + +**五.启动客户端并验证结果** + +运行命令: +``` +head test_data/part-0 | python3.7 abtest_client.py imdb_cnn_client_conf/serving_client_conf.prototxt imdb.vocab +``` + +运行结果如下,10次请求中,bow 服务2次,cnn 服务3次,lstm 服务5次,与设置的比例基本相近。 +``` +I0506 04:02:46.720135 44567 naming_service_thread.cpp:202] brpc::policy::ListNamingService("127.0.0.1:9297"): added 1 +I0506 04:02:46.722630 44567 naming_service_thread.cpp:202] brpc::policy::ListNamingService("127.0.0.1:9298"): added 1 +I0506 04:02:46.723577 44567 naming_service_thread.cpp:202] brpc::policy::ListNamingService("127.0.0.1:9299"): added 1 +I0506 04:02:46.814075 44567 general_model.cpp:490] [client]logid=0,client_cost=9.889ms,server_cost=6.283ms. +server_tag=lstm prediction=[0.500398 0.49960205] +I0506 04:02:46.826339 44567 general_model.cpp:490] [client]logid=0,client_cost=10.261ms,server_cost=9.503ms. +server_tag=lstm prediction=[0.5007235 0.49927652] +I0506 04:02:46.828992 44567 general_model.cpp:490] [client]logid=0,client_cost=1.667ms,server_cost=0.741ms. +server_tag=bow prediction=[0.25859657 0.74140346] +I0506 04:02:46.843299 44567 general_model.cpp:490] [client]logid=0,client_cost=13.402ms,server_cost=12.827ms. +server_tag=lstm prediction=[0.50039905 0.4996009 ] +I0506 04:02:46.850219 44567 general_model.cpp:490] [client]logid=0,client_cost=5.129ms,server_cost=4.332ms. +server_tag=cnn prediction=[0.6369219 0.36307803] +I0506 04:02:46.854203 44567 general_model.cpp:490] [client]logid=0,client_cost=2.804ms,server_cost=0.782ms. +server_tag=bow prediction=[0.15088597 0.849114 ] +I0506 04:02:46.858268 44567 general_model.cpp:490] [client]logid=0,client_cost=3.292ms,server_cost=2.677ms. +server_tag=cnn prediction=[0.4608788 0.5391212] +I0506 04:02:46.869217 44567 general_model.cpp:490] [client]logid=0,client_cost=10.13ms,server_cost=9.556ms. +server_tag=lstm prediction=[0.5000269 0.49997318] +I0506 04:02:46.883790 44567 general_model.cpp:490] [client]logid=0,client_cost=13.312ms,server_cost=12.822ms. +server_tag=lstm prediction=[0.50083774 0.49916226] +I0506 04:02:46.887256 44567 general_model.cpp:490] [client]logid=0,client_cost=2.432ms,server_cost=1.812ms. +server_tag=cnn prediction=[0.47895813 0.52104187] + +``` diff --git a/doc/Offical_Docs/7-0_Python_Pipeline_Int_CN.md b/doc/Offical_Docs/7-0_Python_Pipeline_Int_CN.md index 98bfb0efe..71df7d608 100644 --- a/doc/Offical_Docs/7-0_Python_Pipeline_Int_CN.md +++ b/doc/Offical_Docs/7-0_Python_Pipeline_Int_CN.md @@ -8,5 +8,6 @@ Python Pipeline 使用案例请阅读[Python Pipeline 快速部署案例](./3-2_ 通过阅读以下内容掌握 Python Pipeline 核心功能和使用方法、高阶功能用法和性能优化指南等。 - [Python Pipeline 框架设计](7-1_Python_Pipeline_Design_CN.md) -- [Python Pipeline 高阶用法](7-2_Python_Pipeline_Senior_CN.md) +- [Python Pipeline 核心功能](7-2_Python_Pipeline_Senior_CN.md) - [Python Pipeline 优化指南](7-3_Python_Pipeline_Optimize_CN.md) +- [Python Pipeline 性能指标](7-4_Python_Pipeline_Benchmark_CN.md) diff --git a/doc/Offical_Docs/7-1_Python_Pipeline_Design_CN.md b/doc/Offical_Docs/7-1_Python_Pipeline_Design_CN.md index 6372ec6af..24cbbf0d0 100644 --- a/doc/Offical_Docs/7-1_Python_Pipeline_Design_CN.md +++ b/doc/Offical_Docs/7-1_Python_Pipeline_Design_CN.md @@ -1,5 +1,22 @@ -# Python Pipeline 核心功能 +# Python Pipeline 框架设计 +- [目标](#1) +- [框架设计](#2) + - [2.1 网络层设计](#2.1) + - [2.2 图执行引擎层](#2.2) + - [2.3 服务日志](#2.3) + - [2.4 错误信息](#2.4) +- [自定义信息](#3) + - [3.1 自定义 Web 服务 URL](#3.1) + - [3.2 自定义服务输入和输出结构](#3.2) + - [3.3 自定义服务并发和模型配置](#3.3) + - [3.4 自定义推理过程](#3.4) + - [3.5 自定义业务错误类型](#3.5) + + + + +## 目标 为了解决多个深度学习模型组合的复杂问题,Paddle Serving 团队设计了一个通用端到端多模型组合框架,其核心特点包括: 1. 通用性:框架既要满足通用模型的输入类型,又要满足模型组合的复杂拓扑关系。 @@ -7,6 +24,7 @@ 3. 高可用性:高可用的架构依赖每个服务的健壮性,服务状态可查询、异常可监控和管理是必备条件。 4. 易于开发与调试:使用 Python 语言开发可大幅提升研发效率,运行的错误信息准确帮助开发者快速定位问题。 + ## 框架设计 Python Pipeline 框架分为网络服务层和图执行引擎2部分,网络服务层处理多种网络协议请求和通用输入参数问题,图执行引擎层解决复杂拓扑关系。如下图所示 @@ -15,6 +33,8 @@ Python Pipeline 框架分为网络服务层和图执行引擎2部分,网络服 + + **一.网络服务层** 网络服务层包括了 gRPC-gateway 和 gRPC Server。gPRC gateway 接收 HTTP 请求,打包成 proto 格式后转发给 gRPC Server,一套处理程序可同时处理 HTTP、gRPC 2种类型请求。 @@ -58,6 +78,18 @@ ocr_service.prepare_pipeline_config("config.yml") ocr_service.run_service() ``` +与网络框架相关的配置在 `config.yml` 中设置。其中 `worker_num` 表示框架主线程 gRPC 线程池工作线程数,可理解成网络同步线程并发数。 + +其次,`rpc_port` 和 `http_port` 是服务端口,可同时开启,不允许同时为空。 +``` +worker_num: 10 + +# http 和 gRPC 服务端口 +rpc_port: 9988 +http_port: 18089 +``` + + **二.图执行引擎层** @@ -126,15 +158,37 @@ Channel的设计原则: + - -**三. 服务日志** +**三.服务日志** Pipeline 服务日志在当前目录的 `PipelineServingLogs` 目录下,有3种类型日志,分别是 `pipeline.log`、`pipeline.log.wf`、`pipeline.tracer`。 - `pipeline.log` : 记录 debug & info日志信息 - `pipeline.log.wf` : 记录 warning & error日志 - `pipeline.tracer` : 统计各个阶段耗时、channel 堆积信息 +``` +├── config.yml +├── get_data.sh +├── PipelineServingLogs +│   ├── pipeline.log +│   ├── pipeline.log.wf +│   └── pipeline.tracer +├── README_CN.md +├── README.md +├── uci_housing_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── uci_housing_model +│   ├── fc_0.b_0 +│   ├── fc_0.w_0 +│   ├── __model__ +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── web_service_java.py +└── web_service.py +``` + 在服务发生异常时,错误信息会记录在 pipeline.log.wf 日志中。打印 tracer 日志要求在 config.yml 的 DAG 属性中添加 tracer 配置。 1. 日志与请求的唯一标识 @@ -177,9 +231,46 @@ Pipeline 的日志模块在 `logger.py` 中定义,使用了 `logging.handlers. ``` -**四. 服务超时与重试** + + +**四. 错误信息** +框架提供的错误信息如下所示, 完整信息在 `error_catch.py` 中 `CustomExceptionCode` 类中定义。 +| 错误码 | 说明 | +| :---: | :-------------: | +| 0 | 成功 | +| 50 ~ 999 | 产品错误 | +| 3000 ~ 3999 | 框架内部服务错误 | +| 4000 ~ 4999 | 配置错误 | +| 5000 ~ 5999 | 用户输入错误 | +| 6000 ~ 6999 | 超时错误 | +| 7000 ~ 7999 | 类型检查错误 | +| 8000 ~ 8999 | 内部通讯错误 | +| 9000 ~ 9999 | 推理错误 | +| 10000 ~ | 其他错误 | + +具体错误信息如下: + +``` +class CustomExceptionCode(enum.Enum): + OK = 0 + PRODUCT_ERROR = 50 + + NOT_IMPLEMENTED = 3000 + CLOSED_ERROR = 3001 + NO_SERVICE = 3002 + INIT_ERROR = 3003 + CONF_ERROR = 4000 + INPUT_PARAMS_ERROR = 5000 + TIMEOUT = 6000 + TYPE_ERROR = 7000 + RPC_PACKAGE_ERROR = 8000 + CLIENT_ERROR = 9000 + UNKNOW = 10000 +``` + + ## 自定义信息 @@ -190,8 +281,9 @@ Pipeline 的日志模块在 `logger.py` 中定义,使用了 `logging.handlers. - 自定义推理过程 - 自定义业务错误类型 + -1. 自定义 Web 服务 URL +**一.自定义 Web 服务 URL** 在 Web 服务中自定义服务名称是常见操作,尤其是将已有服务迁移到新框架。URL 中核心字段包括 `ip`、`port`、`name` 和 `method`,根据最新部署的环境信息设置前2个字段,重点介绍如何设置 `name` 和 `method`,框架提供默认的 `methon` 是 `prediciton`,如 `http://127.0.0.1:9999/ocr/prediction` 。 @@ -230,8 +322,9 @@ service PipelineService { } }; ``` + -2. 自定义服务输入和输出结构 +**二.自定义服务输入和输出结构** 输入和输出结构包括 proto 中 Request 和 Response 结构,以及 Op 前后处理返回。 @@ -241,10 +334,15 @@ service PipelineService { 修改后,需要[重新编译]() -3. 自定义服务并发和模型配置 + + +**三.自定义服务并发和模型配置** + 完整的配置信息可参考[配置信息]() -4. 自定义推理过程 + + +**四.自定义推理过程** 推理 Op 为开发者提供3个外部函数接口: @@ -369,8 +467,9 @@ class ResponseOp(Op): return resp ``` + -5. 自定义业务错误类型 +**五.自定义业务错误类型** 用户可根据业务场景自定义错误码,继承 ProductErrCode,在 Op 的 preprocess 或 postprocess 中返回列表中返回,下一阶段处理会根据自定义错误码跳过后置OP处理。 ```python diff --git a/doc/Offical_Docs/7-2_Python_Pipeline_Senior_CN.md b/doc/Offical_Docs/7-2_Python_Pipeline_Senior_CN.md index 8b611c803..c372d0800 100644 --- a/doc/Offical_Docs/7-2_Python_Pipeline_Senior_CN.md +++ b/doc/Offical_Docs/7-2_Python_Pipeline_Senior_CN.md @@ -1,75 +1,222 @@ -# Python Pipeline 高阶用法 +# Python Pipeline 核心功能 + +从设计上,Python Pipeline 框架实现轻量级的服务化部署,提供了丰富的核心功能,既能满足服务基本使用,又能满足特性需求。 + +- [安装与环境检查](#1) +- [服务启动与关闭](#2) +- [本地与远程推理](#3) +- [批量推理](#4) + - [4.1 客户端打包批量数据](#4.1) + - [4.2 服务端合并多个请求动态合并批量](#4.2) + - [4.3 Mini-Batch](#4.3) +- [单机多卡推理](#5) +- [多种计算芯片上推理](#6) +- [TensorRT 推理加速](#7) +- [MKLDNN 推理加速](#8) +- [低精度推理](#9) + - [9.1 CPU 低精度推理](#9.1) + - [9.2 GPU 和 TensorRT 低精度推理](#9.2) + - [9.3 性能测试](#9.3) +- [复杂图结构 DAG 跳过某个 Op 运行](#10) + + + +## 安装与环境检查 + +在运行 Python Pipeline 服务前,确保当前环境下可部署且通过[安装指南](./2-0_Index_CN.md)已完成安装。其次,`v0.8.0`及以上版本提供了环境检查功能,检验环境是否安装正确。 + +输入以下命令,进入环境检查程序。 +```python +python3 -m paddle_serving_server.serve check +``` -在复杂业务场景中使用常规功能无法满足需求,本文介绍一些高阶用法。 -- DAG 结构跳过某个 Op 运行 -- 批量推理 -- 单机多卡推理 -- 多种计算芯片上推理 -- 低精度推理 -- TensorRT 推理加速 -- MKLDNN 推理加速 +在环境检验程序中输入多条指令来检查,例如 `check_pipeline`,`check_all`等,完整指令列表如下。 +| 指令 | 描述| +|---------|----| +|check_all | 检查 Paddle Inference、Pipeline Serving、C++ Serving。只打印检测结果,不记录日志| +|check_pipeline | 检查 Pipeline Serving,只打印检测结果,不记录日志| +|check_cpp | 检查 C++ Serving,只打印检测结果,不记录日志| +|check_inference | 检查 Paddle Inference 是否安装正确,只打印检测结果,不记录日志| +|debug | 发生报错后,该命令将打印提示日志到屏幕,并记录详细日志文件| +|exit | 退出| -**一.DAG 结构跳过某个 Op 运行** -此应用场景一般在 Op 前后处理中有 if 条件判断时,不满足条件时,跳过后面处理。实际做法是在跳过此 Op 的 process 阶段,只要在 preprocess 做好判断,跳过 process 阶段,在和 postprocess 后直接返回即可。 -preprocess 返回结果列表的第二个结果是 `is_skip_process=True` 表示是否跳过当前 Op 的 process 阶段,直接进入 postprocess 处理。 +程序会分别运行 cpu 和 gpu 示例。运行成功则打印 `Pipeline cpu environment running success +` 和 `Pipeline gpu environment running success`。 -```python -## Op::preprocess() 函数实现 -def preprocess(self, input_dicts, data_id, log_id): - """ - In preprocess stage, assembling data for process stage. users can - override this function for model feed features. - Args: - input_dicts: input data to be preprocessed - data_id: inner unique id - log_id: global unique id for RTT - Return: - input_dict: data for process stage - is_skip_process: skip process stage or not, False default - prod_errcode: None default, otherwise, product errores occured. - It is handled in the same way as exception. - prod_errinfo: "" default - """ - # multiple previous Op - if len(input_dicts) != 1: - _LOGGER.critical( - self._log( - "Failed to run preprocess: this Op has multiple previous " - "inputs. Please override this func.")) - os._exit(-1) - (_, input_dict), = input_dicts.items() - return input_dict, False, None, "" +``` +/usr/local/lib/python3.7/runpy.py:125: RuntimeWarning: 'paddle_serving_server.serve' found in sys.modules after import of package 'paddle_serving_server', but prior to execution of 'paddle_serving_server.serve'; this may result in unpredictable behaviour + warn(RuntimeWarning(msg)) +Welcome to the check env shell.Type help to list commands. +(Cmd) check_pipeline +Pipeline cpu environment running success +Pipeline gpu environment running success ``` -以下示例 Jump::preprocess() 重载了原函数,返回了 True 字段 + +运行失败时,错误信息会记录到当前目录下 `stderr.log` 文件 和 `Pipeline_test_cpu/PipelineServingLogs` 目录下。用户可根据错误信息调试。 + +``` +(Cmd) check_all +PaddlePaddle inference environment running success +C++ cpu environment running success +C++ gpu environment running failure, if you need this environment, please refer to https://github.com/PaddlePaddle/Serving/blob/develop/doc/Install_CN.md +Traceback (most recent call last): + File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main + "__main__", mod_spec) + File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code + exec(code, run_globals) + File "/usr/local/lib/python3.7/site-packages/paddle_serving_server/serve.py", line 541, in + Check_Env_Shell().cmdloop() + File "/usr/local/lib/python3.7/cmd.py", line 138, in cmdloop + stop = self.onecmd(line) + File "/usr/local/lib/python3.7/cmd.py", line 217, in onecmd + return func(arg) + File "/usr/local/lib/python3.7/site-packages/paddle_serving_server/serve.py", line 501, in do_check_all + check_env("all") + File "/usr/local/lib/python3.7/site-packages/paddle_serving_server/env_check/run.py", line 94, in check_env + run_test_cases(pipeline_test_cases, "Pipeline", is_open_std) + File "/usr/local/lib/python3.7/site-packages/paddle_serving_server/env_check/run.py", line 66, in run_test_cases + mv_log_to_new_dir(new_dir_path) + File "/usr/local/lib/python3.7/site-packages/paddle_serving_server/env_check/run.py", line 48, in mv_log_to_new_dir + shutil.move(file_path, dir_path) + File "/usr/local/lib/python3.7/shutil.py", line 555, in move + raise Error("Destination path '%s' already exists" % real_dst) +shutil.Error: Destination path '/home/work/Pipeline_test_cpu/PipelineServingLogs' already exists + +``` + + + +## 服务启动与关闭 + +服务启动需要三类文件,PYTHON 程序、模型文件和配置文件。以[Python Pipeline 快速部署案例](./3-2_QuickStart_Pipeline_OCR_CN.md)为例, +``` +. +├── config.yml +├── imgs +│   └── ggg.png +├── ocr_det_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ocr_det_model +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── ocr_det.tar.gz +├── ocr_rec_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ocr_rec_model +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── pipeline_http_client.py +├── pipeline_rpc_client.py +├── ppocr_keys_v1.txt +└── web_service.py +``` + +启动服务端程序运行 `web_service.py`,启动客户端程序运行 `pipeline_http_client.py` 或 `pipeline_rpc_client.py`。服务端启动的日志信息在 `PipelineServingLogs` 目录下可用于调试。 +``` +├── PipelineServingLogs +│   ├── pipeline.log +│   ├── pipeline.log.wf +│   └── pipeline.tracer +``` + +关闭程序可使用2种方式, +- 前台关闭程序:`Ctrl+C` 关停服务 +- 后台关闭程序: ```python -class JumpOp(Op): - ## Overload func JumpOp::preprocess - def preprocess(self, input_dicts, data_id, log_id): - (_, input_dict), = input_dicts.items() - if input_dict.has_key("jump"): - return input_dict, True, None, "" - else - return input_dict, False, None, "" +python3 -m paddle_serving_server.serve stop # 触发 SIGINT 信号 +python3 -m paddle_serving_server.serve kill # 触发 SIGKILL 信号,强制关闭 +``` + + + +## 本地与远程推理 + +本地推理是指在服务所在机器环境下开启多进程推理,而远程推理是指本地服务请求远程 C++ Serving 推理服务。 + +本地推理的优势是实现简单,一般本地处理相比于远程推理耗时更低。而远程推理的优势是可实现 Python Pipeline 较难实现的功能,如部署加密模型,大模型推理。 + +Python Pipeline 的本地推理可参考如下配置,在 `uci` op 中 增加 `local_service_conf` 配置,并设置 `client_type: local_predictor`。 +``` +op: + uci: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 10 + + #当op配置没有server_endpoints时,从local_service_conf读取本地服务配置 + local_service_conf: + + #uci模型路径 + model_config: uci_housing_model + + #计算硬件类型: 空缺时由devices决定(CPU/GPU),0=cpu, 1=gpu, 2=tensorRT, 3=arm cpu, 4=kunlun xpu + device_type: 0 + + #计算硬件ID,优先由device_type决定硬件类型。devices为""或空缺时为CPU预测;当为"0", "0,1,2"时为GPU预测,表示使用的GPU卡 + devices: "" # "0,1" + + #client类型,包括brpc, grpc和local_predictor.local_predictor不启动Serving服务,进程内预测 + client_type: local_predictor + + #Fetch结果列表,以client_config中fetch_var的alias_name为准 + fetch_list: ["price"] +``` + +Python Pipeline 的远程推理可参考如下配置,设置 `client_type: brpc`,`server_endpoints`,`timeout` 和本地 `client_config`。 + +``` +op: + bow: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 1 + + #client连接类型,brpc + client_type: brpc + + #Serving交互重试次数,默认不重试 + retry: 1 + + #Serving交互超时时间, 单位ms + timeout: 3000 + + #Serving IPs + server_endpoints: ["127.0.0.1:9393"] + + #bow模型client端配置 + client_config: "imdb_bow_client_conf/serving_client_conf.prototxt" + + #Fetch结果列表,以client_config中fetch_var的alias_name为准 + fetch_list: ["prediction"] ``` + -**二. 批量推理** +## 批量推理 Pipeline 支持批量推理,通过增大 batch size 可以提高 GPU 利用率。Python Pipeline 支持3种 batch 形式以及适用的场景如下: - 场景1:客户端打包批量数据(Client Batch) - 场景2:服务端合并多个请求动态合并批量(Server auto-batching) -- 场景3:服务端拆分一个批量数据推理请求成为多个小块推理(Server mini-batch) +- 场景3:拆分一个大批量的推理请求为多个小批量推理请求(Server mini-batch) + -1. 客户端打包批量数据 +**一.客户端打包批量数据** 当输入数据是 numpy 类型,如shape 为[4, 3, 512, 512]的 numpy 数据,即4张图片,可直接作为输入数据。 当输入数据的 shape 不同时,需要按最大的shape的尺寸 Padding 对齐后发送给服务端 -2. 服务端合并多个请求动态合并批量 + + +**二.服务端合并多个请求动态合并批量** + 有助于提升吞吐和计算资源的利用率,当多个请求的 shape 尺寸不相同时,不支持合并。当前有2种合并策略,分别是: - 等待时间与最大批量结合(推荐):结合`batch_size`和`auto_batching_timeout`配合使用,实际请求的批量条数超过`batch_size`时会立即执行,不超过时会等待`auto_batching_timeout`时间再执行 @@ -119,9 +266,11 @@ op: ``` + +**三.Mini-Batch** -3.服务端拆分一个批量数据推理请求成为多个小块推理:会降低批量数据 Padding 对齐的大小,从而提升速度。可参考 [OCR 示例](),核心思路是拆分数据成多个小批量,放入 list 对象 feed_list 并返回 +拆分一个批量数据推理请求成为多个小块推理:会降低批量数据 Padding 对齐的大小,从而提升速度。可参考 [OCR 示例](),核心思路是拆分数据成多个小批量,放入 list 对象 feed_list 并返回 ``` def preprocess(self, input_dicts, data_id, log_id): @@ -181,8 +330,9 @@ def preprocess(self, input_dicts, data_id, log_id): return feed_list, False, None, "" ``` + -**三. 单机多卡推理** +## 单机多卡推理 单机多卡推理与 `config.yml` 中配置4个参数关系紧密,`is_thread_op`、`concurrency`、`device_type` 和 `devices`,必须在进程模型和 GPU 模式,每张卡上可分配多个进程,即 M 个 Op 进程与 N 个 GPU 卡绑定。 ``` @@ -218,8 +368,9 @@ op: 对于更灵活的进程与 GPU 卡绑定方式,会持续开发。 + -**四. 多种计算芯片上推理** +## 多种计算芯片上推理 除了支持 CPU、GPU 芯片推理之外,Python Pipeline 还支持在多种计算硬件上推理。根据 `config.yml` 中的 `device_type` 和 `devices`来设置推理硬件和加速库如下: - CPU(Intel) : 0 @@ -232,27 +383,99 @@ op: 当不设置`device_type`时,根据 `devices` 来设置,即当 `device_type` 为 "" 或空缺时为 CPU 推理;当有设定如"0,1,2"时,为 GPU 推理,并指定 GPU 卡。 -以使用 GPU 的编号为0和1号卡并开启 TensorRT 为例,TensorRT 要配合 `ir_optim` 一同开启,`config.yml`详细配置如下: +以使用 XPU 的编号为0卡为例,配合 `ir_optim` 一同开启,`config.yml`详细配置如下: ``` # 计算硬件类型 -device_type: 2 +device_type: 4 # 计算硬件ID,优先由device_type决定硬件类型 -devices: "0,1" +devices: "0" # 开启ir优化 ir_optim: True ``` - -**五. 低精度推理** -Pipeline Serving支持低精度推理,CPU、GPU和TensoRT支持的精度类型如下图所示: + + +## TensorRT 推理加速 +TensorRT 是一个高性能的深度学习推理优化器,在 Nvdia 的 GPU 硬件平台运行的推理框架,为深度学习应用提供低延迟、高吞吐率的部署推理。 +通过设置`device_type`、`devices`和`ir_optim` 字段即可实现 TensorRT 高性能推理。必须同时设置 `ir_optim: True` 才能开启 TensorRT。 + +``` +op: + imagenet: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 1 + + #当op配置没有server_endpoints时,从local_service_conf读取本地服务配置 + local_service_conf: + + #uci模型路径 + model_config: serving_server/ + + #计算硬件类型: 空缺时由devices决定(CPU/GPU),0=cpu, 1=gpu, 2=tensorRT, 3=arm cpu, 4=kunlun xpu + device_type: 2 + + #计算硬件ID,当devices为""或不写时为CPU预测;当devices为"0", "0,1,2"时为GPU预测,表示使用的GPU卡 + devices: "1" # "0,1" + + #client类型,包括brpc, grpc和local_predictor.local_predictor不启动Serving服务,进程内预测 + client_type: local_predictor + + #Fetch结果列表,以client_config中fetch_var的alias_name为准 + fetch_list: ["score"] + + #开启 ir_optim + ir_optim: True +``` + + +## MKL-DNN 推理加速 + +MKL-DNN 针对 Intel CPU 和 GPU 的数学核心库,对深度学习网络进行算子和指令集的性能优化,从而提升执行速度。Paddle 框架已集成了 MKL-DNN。 + +目前仅支持 Intel CPU 推理加速,通过设置`device_type` 和 `devices` 和 `use_mkldnn` 字段使用 MKL-DNN。 + +``` +op: + imagenet: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 1 + + #当op配置没有server_endpoints时,从local_service_conf读取本地服务配置 + local_service_conf: + + #uci模型路径 + model_config: serving_server/ + + #计算硬件类型: 空缺时由devices决定(CPU/GPU),0=cpu, 1=gpu, 2=tensorRT, 3=arm cpu, 4=kunlun xpu + device_type: 0 + + #计算硬件ID,当devices为""或不写时为CPU预测;当devices为"0", "0,1,2"时为GPU预测,表示使用的GPU卡 + devices: "" + + #client类型,包括brpc, grpc和local_predictor.local_predictor不启动Serving服务,进程内预测 + client_type: local_predictor + + #Fetch结果列表,以client_config中fetch_var的alias_name为准 + fetch_list: ["score"] + + #开启 MKLDNN + use_mkldnn: True +``` + + +## 低精度推理 + +Pipeline Serving支持低精度推理,CPU、GPU和TensoRT支持的精度类型如下图所示: 低精度推理需要有量化模型,配合`config.yml`配置一起使用,以[低精度示例]() 为例 -1. CPU 低精度推理配置 + + +**一.CPU 低精度推理** 通过设置,`device_type` 和 `devices` 字段使用 CPU 推理,通过调整`precision`、`thread_num`和`use_mkldnn`参数选择低精度和性能调优。 @@ -290,9 +513,11 @@ op: use_mkldnn: True ``` -2. GPU + TensorRT 低精度推理 + -通过设置,`device_type` 和 `devices` 字段使用原生 GPU 或 TensorRT 推理,通过调整`precision`、`ir_optim`和`use_calib`参数选择低精度和性能调优,如开启 TensorRT,必须一同开启`ir_optim`,`use_calib`仅配合 int8 使用。 +**二.GPU 和 TensorRT 低精度推理** + +通过设置`device_type` 和 `devices` 字段使用原生 GPU 或 TensorRT 推理,通过调整`precision`、`ir_optim`和`use_calib`参数选择低精度和性能调优,如开启 TensorRT,必须一同开启`ir_optim`,`use_calib`仅配合 int8 使用。 ``` op: imagenet: @@ -327,8 +552,9 @@ op: ir_optim: True ``` + -3. 性能测试 +**三.性能测试** 测试环境如下: - GPU 型号: A100-40GB @@ -345,7 +571,6 @@ op: - GPU + int8 + ir_optim + TensorRT + use_calib : 15.1 ms - GPU + fp16 + ir_optim + TensorRT : 17.2 ms - CPU 推理性能较好的配置是 - CPU + bf16 + MKLDNN : 18.2 ms - CPU + fp32 + thread_num=10 : 18.4 ms @@ -354,3 +579,50 @@ CPU 推理性能较好的配置是
+ +## 复杂图结构 DAG 跳过某个 Op 运行 + +此应用场景一般在 Op 前后处理中有 if 条件判断时,不满足条件时,跳过后面处理。实际做法是在跳过此 Op 的 process 阶段,只要在 preprocess 做好判断,跳过 process 阶段,在和 postprocess 后直接返回即可。 +preprocess 返回结果列表的第二个结果是 `is_skip_process=True` 表示是否跳过当前 Op 的 process 阶段,直接进入 postprocess 处理。 + +```python +## Op::preprocess() 函数实现 +def preprocess(self, input_dicts, data_id, log_id): + """ + In preprocess stage, assembling data for process stage. users can + override this function for model feed features. + Args: + input_dicts: input data to be preprocessed + data_id: inner unique id + log_id: global unique id for RTT + Return: + input_dict: data for process stage + is_skip_process: skip process stage or not, False default + prod_errcode: None default, otherwise, product errores occured. + It is handled in the same way as exception. + prod_errinfo: "" default + """ + # multiple previous Op + if len(input_dicts) != 1: + _LOGGER.critical( + self._log( + "Failed to run preprocess: this Op has multiple previous " + "inputs. Please override this func.")) + os._exit(-1) + (_, input_dict), = input_dicts.items() + return input_dict, False, None, "" + +``` +以下示例 Jump::preprocess() 重载了原函数,返回了 True 字段 +```python +class JumpOp(Op): + ## Overload func JumpOp::preprocess + def preprocess(self, input_dicts, data_id, log_id): + (_, input_dict), = input_dicts.items() + if input_dict.has_key("jump"): + return input_dict, True, None, "" + else + return input_dict, False, None, "" +``` diff --git a/doc/Offical_Docs/7-3_Python_Pipeline_Optimize_CN.md b/doc/Offical_Docs/7-3_Python_Pipeline_Optimize_CN.md index bc49f23cb..ef2380193 100644 --- a/doc/Offical_Docs/7-3_Python_Pipeline_Optimize_CN.md +++ b/doc/Offical_Docs/7-3_Python_Pipeline_Optimize_CN.md @@ -1,24 +1,105 @@ # Python Pipeline 优化指南 +- [优化响应时长](#1) + - [1.1 分析响应时长](#1.1) + - [Pipeline Trace Tool](#1.1.1) + - [Pipeline Profile Tool](#1.1.2) + - [1.2 优化思路](#1.2) +- [优化服务吞吐](#2) + - [2.1 分析吞吐瓶颈](#2.1) + - [2.2 优化思路](#2.2) + - [增加 Op 并发](#2.2.1) + - [动态批量](#2.2.2) + - [CPU 与 GPU 处理分离](#2.2.3) -## 如何通过 Timeline 工具进行优化 -为了更好地对性能进行优化,Python Pipeline 提供了 Timeline 工具,对整个服务的各个阶段时间进行打点。 +通常,服务的性能优化是基于耗时分析,首先要掌握服务运行的各阶段耗时信息,从中找到耗时最长的性能瓶颈再做针对性优化。对于模型推理服务化不仅要关注耗时,由于 GPU 芯片昂贵,更要关注服务吞吐,从而提升 GPU 利用率实现降本增效。因此,模型推理服务化可总结为: +- 优化响应时长 +- 优化服务吞吐 -## 在 Server 端输出 Profile 信息 +经过分析和调优后,各个阶段实现整体服务的性能最优。 -Server 端用 yaml 中的 `use_profile` 字段进行控制: + -```yaml +## 优化响应时长 + +首先,优化响应时长的主要思路首先要掌握各阶段耗时,并分析出性能瓶颈或者耗时占比较高的阶段,再针对性能瓶颈做专项优化。 + +Paddle Serving 提供2种耗时分析工具,`Pipeline Trace Tool` 和 `Pipeline Profile Tool`。2个工具的特点如下: +- Pipeline Trace Tool : 统计服务端所有进程各个阶段的平均耗时,包括每个 `Op` 和 `Channel`,用于定量分析。 +- Pipeline Profile Tool : 是可视化 Trace View 工具,生成多进程并发效果图,用定性和定量分析执行和并发效果。 + + + +**一.耗时分析** + + + +1.Pipeline Trace Tool + +`Pipeline Trace Tool` 统计每个 `Op` 和 `Channel` 中各阶段的处理耗时, + +开启方法在配置文件 `config.yml` 的 `dag` 区段内添加 `tracer` 字段,框架会每隔 `interval_s` 时间生成 Trace 信息。 +``` dag: - use_profile: true + #op资源类型, True, 为线程模型;False,为进程模型 + is_thread_op: True + + #tracer, 跟踪框架吞吐,每个OP和channel的工作情况。无tracer时不生成数据 + tracer: + #每次trace的时间间隔,单位秒/s + interval_s: 10 +``` + +生成的 Trace 信息保存在 `./PipelineServingLogs/pipeline.tracer` 日志中。如下图所示 ``` +==================== TRACER ====================== + Op(uci): + in[8473.507333333333 ms]: # 等待前置 Channel 中数据放入 Op 的耗时,如长时间无请求,此值会变大 + prep[0.6753333333333333 ms] # 推理前处理 preprocess 阶段耗时 + midp[26.476333333333333 ms] # 推理 process 阶段耗时 + postp[1.8616666666666666 ms] # 推理后处理 postprocess 阶段耗时 + out[1.3236666666666668 ms] # 后处理结果放入后置 channel 耗时 + idle[0.9965882097324374] # 框架自循环耗时,间隔 1 ms,如此值很大说明系统负载高,调度变慢 + DAGExecutor: + Query count[30] # interval_s 间隔时间内请求数量 + QPS[27.35 q/s] # interval_s 间隔时间内服务 QPS + Succ[1.0] # interval_s 间隔时间内请求成功率 + Error req[] # 异常请求信息 + Latency: + ave[36.55233333333334 ms] # 平均延时 + .50[8.702 ms] # 50分位延时 + .60[8.702 ms] # 60分位延时 + .70[92.346 ms] # 70分位延时 + .80[92.346 ms] # 70分位延时 + .90[92.346 ms] # 90分位延时 + .95[92.346 ms] # 95分位延时 + .99[92.346 ms] # 99分位延时 + Channel (server worker num[1]): + chl0(In: ['@DAGExecutor'], Out: ['uci']) size[0/0] # 框架 RequestOp 与 uci Op 之间 Channel 中堆积请求数。此值较大,说明下游 uci Op 消费能力不足。 + chl1(In: ['uci'], Out: ['@DAGExecutor']) size[0/0] # uci Op 与 框架 ResponseOp 之间 Channel 中堆积的请求数。此值较大,说明下游 ReponseOp 消费能力不足。 + ==================== TRACER ====================== +``` + + +2.Pipeline Profile Tool -开启该功能后,Server 端在预测的过程中会将对应的日志信息打印到标准输出,为了更直观地展现各阶段的耗时,提供 Analyst 模块对日志文件做进一步的分析处理。 +``` +dag: + #op资源类型, True, 为线程模型;False,为进程模型 + is_thread_op: True + + #使用性能分析, 默认为 False,imeline性能数据,对性能有一定影响 + use_profile: True, +``` -使用时先将 Server 的输出保存到文件,以 `profile.txt` 为例,脚本将日志中的时间打点信息转换成 json 格式保存到 `trace` 文件,`trace` 文件可以通过 chrome 浏览器的 tracing 功能进行可视化。 +开启后,Server 端在预测的过程中会将对应的日志信息打印到`标准输出`,为了更直观地展现各阶段的耗时,因此服务启动要使用如下命令: +``` +python3.7 web_service.py > profile.txt 2>&1 +``` -```python +服务接收请求后,输出 Profile 信息到 `profile.txt` 文件中。再粘贴如下代码到 `trace.py`, 使用框架提供 Analyst 模块对日志文件做进一步的分析处理。 +``` from paddle_serving_server.pipeline import Analyst import json import sys @@ -30,50 +111,104 @@ if __name__ == "__main__": analyst.save_trace(trace_filename) ``` -具体操作:打开 chrome 浏览器,在地址栏输入 `chrome://tracing/` ,跳转至 tracing 页面,点击 load 按钮,打开保存的 `trace` 文件,即可将预测服务的各阶段时间信息可视化。 +运行命令,脚本将日志中的时间打点信息转换成 json 格式保存到 `trace` 文件。 +``` +python3.7 trace.py +``` + +`trace` 文件可以通过 `chrome` 浏览器的 `tracing` 功能进行可视化。 +``` +打开 chrome 浏览器,在地址栏输入 chrome://tracing/ ,跳转至 tracing 页面,点击 load 按钮,打开保存的 trace 文件,即可将预测服务的各阶段时间信息可视化。 +``` + +通过图示中并发请求的处理流程可观测到推理阶段的流水线状态,以及多个请求在推理阶段的`间隔`信息,进行优化。 + + + +**二.降低响应时长优化思路** + +根据 `Pipeline Trace Tool` 输出结果在不同阶段耗时长的问题,常见场景的优化方法如下: +- Op 推理阶段(midp) 耗时长: + - 增加 Op 并发度 + - 开启 auto-batching (前提是多个请求的 shape 一致) + - 若批量数据中某条数据的 shape 很大,padding 很大导致推理很慢,可参考 OCR 示例中 mini-batch 方法。 + - 开启 TensorRT/MKL-DNN 优化 + - 开启低精度推理 +- Op 前处理阶段(prep) 或 后处理阶段耗时长: + - 增加 OP 并发度 + - 优化前后处理逻辑 +- in/out 耗时长(channel 堆积>5) + - 检查 channel 传递的数据大小,可能为传输的数据大导致延迟大。 + - 优化传入数据,不传递数据或压缩后再传入 + - 增加 Op 并发度 + - 减少上游 Op 并发度 + +根据 `Pipeline Profile Tool` 输出结果优化流水行并发的效果 +- 增加 Op 并发度,或调整不同 Op 的并发度 +- 开启 auto-batching -## 在 Client 端输出 Profile 信息 +此外,还有一些优化思路,如将 CPU 处理较慢的过程转换到 GPU 上处理等,客户端与服务端传输较大数据时,可使用共享内存方式传递内存或显存地址等。 -Client 端在 `predict` 接口设置 `profile=True`,即可开启 Profile 功能。 + -开启该功能后,Client 端在预测的过程中会将该次预测对应的日志信息打印到标准输出,后续分析处理同 Server。 +## 优化服务吞吐 -## 分析方法 -根据 `pipeline.tracer` 日志中的各个阶段耗时,按以下公式逐步分析出主要耗时在哪个阶段。 + + +**一.分析吞吐瓶颈** + +服务的吞吐量受到多种多因素条件制约,如 Op 处理时长、传输数据耗时、并发数和 DAG 图结构等,可以将这些因素进一步拆解,当传输数据不是极端庞大的时候,最重要因素是流水线中`最慢 Op 的处理时长和并发数`。 ``` -单 OP 耗时: +Op 处理时长: op_cost = process(pre + mid + post) -OP 期望并发数: -op_concurrency = 单OP耗时(s) * 期望QPS - 服务吞吐量: -service_throughput = 1 / 最慢OP的耗时 * 并发数 +service_throughput = 1 / 最慢 op_cost * 并发数 服务平响: service_avg_cost = ∑op_concurrency 【关键路径】 -Channel 堆积: -channel_acc_size = QPS(down - up) * time - 批量预测平均耗时: avg_batch_cost = (N * pre + mid + post) / N ``` + -## 优化思路 +**二.优化思路** -根据长耗时在不同阶段,采用不同的优化方法. -- OP 推理阶段(mid-process): - - 增加 OP 并发度 - - 开启 auto-batching (前提是多个请求的 shape 一致) - - 若批量数据中某条数据的 shape 很大,padding 很大导致推理很慢,可使用 mini-batch - - 开启 TensorRT/MKL-DNN 优化 - - 开启低精度推理 -- OP 前处理阶段(pre-process): - - 增加 OP 并发度 - - 优化前处理逻辑 -- in/out 耗时长(channel 堆积>5) - - 检查 channel 传递的数据大小和延迟 - - 优化传入数据,不传递数据或压缩后再传入 - - 增加 OP 并发度 - - 减少上游 OP 并发度 +优化吞吐的主要方法是 `增大 Op 并发数`、`自动批量` 和 `CPU 与 GPU 处理分离` + + + +1.增加 Op 并发** + +调整 Op 的并发数量通过设置 `is_thread_op: False` 进程类型 Op 和 `uci` Op 的 `concurrency` 字段 +``` +dag: + #op资源类型, True, 为线程模型;False,为进程模型 + is_thread_op: False +op: + uci: + #并发数,is_thread_op=True时,为线程并发;否则为进程并发 + concurrency: 10 +``` +Op 的进程数量不是越大越好,受到机器 CPU 核数、内存和显存大小的限制,推荐设置 Op 的并发数不超过系统 CPU 核数。 + + + +2.动态批量 + +动态批量是增加吞吐的有一种方法,开启方式可参考[Python Pipeline 核心功能](./7-2_Python_Pipeline_Senior_CN.md#批量推理) + + + +3.CPU 与 GPU 处理分离 + +在 `CV` 模型中,对图片或视频的前后处理成为主要瓶颈时,可考虑此方案,即将前后处理过程独立成一个 Op 并独立设置并发度。 + +将 CPU 前后处理和 GPU 推理过程比例调整到服务最佳配比。以 OCR 为例,原有流水线设计为 `RequestOp -> DetOp -> RecOp -> ResponseOp`。 + +根据耗时分析,`DetOp` 和 `RecOp` 的前处理耗时很长,因此,将2个模型前处理分离成独立 Op,最新的流水线设计为: + +`RequestOp -> PreDetOp -> DetOp -> PreRecOp -> RecOp -> ResponseOp`,并调大 `PreDetOp` 和 `PreRecOp`的并发度,从而获得 20% 的性能提升。 + +由于增加了2次数据传递,单条请求的处理延时会增加。 diff --git a/doc/Offical_Docs/7-4_Python_Pipeline_Benchmark_CN.md b/doc/Offical_Docs/7-4_Python_Pipeline_Benchmark_CN.md new file mode 100644 index 000000000..9d29abf82 --- /dev/null +++ b/doc/Offical_Docs/7-4_Python_Pipeline_Benchmark_CN.md @@ -0,0 +1,59 @@ +# Python Pipeline 性能测试 + +- [测试环境](#1) +- [性能指标与结论](#2) + + + +## 测试环境 + +测试环境如下表所示: +| | GPU | 显存 | CPU | 内存 | +|----------|---------|----------|----------------------------------------------|------| +| Serving端 | 4x Tesla P4-8GB | 7611MiB | Intel(R) Xeon(R) Gold 5117 CPU @ 2.00GHz 48核 | 216G | +| Client端 | 4x Tesla P4-8GB | 7611MiB | Intel(R) Xeon(R) Gold 5117 CPU @ 2.00GHz 48核 | 216G | + +使用单卡GPU,未开启TensorRT。 +模型:ResNet_v2_50 + + + +## 性能指标与结论 + +通过测试,使用 Python Pipeline 模式通过多进程并发,充分利用 GPU 显卡,具有较好的吞吐性能。 + + +测试数据如下: + +|model_name |thread_num |batch_size |CPU_util(%) |GPU_memory(mb) |GPU_util(%) |qps(samples/s) |total count |mean(ms) |median(ms) |80 percent(ms) |90 percent(ms) |99 percent(ms) |total cost(s) |each cost(s)| +|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:-- +|ResNet_v2_50 |1 |1 |2.2 |3327 |17.25 |17.633658869240787 |355 |56.428481238996476 |38.646728515625 |39.496826171875 |39.98369140625 |1273.1911083984373 |20.131953477859497 |20.033540725708008| +|ResNet_v2_50 |1 |4 |2.7 |3617 |28.122 |53.50748430453522 |268 |74.71539215543378 |74.6181640625 |75.3138671875 |75.6051025390625 |77.85322998046874 |20.03458046913147 |20.024930953979492| +|ResNet_v2_50 |1 |8 |1.7 |3877 |25.7869 |59.60582783086999 |150 |133.5897119140625 |132.7503662109375 |134.968310546875 |136.470703125 |140.79039062499996 |20.132259607315063 |20.03933620452881| +|ResNet_v2_50 |1 |16 |7.0 |4777 |27.0175 |63.2627646819339 |80 |252.30162048339844 |251.8448486328125 |253.046630859375 |253.91142578125 |263.361640625 |20.233070850372314 |20.18476152420044| +|ResNet_v2_50 |1 |32 |7.5 |6567 |38.532 |62.945314687348024 |40 |506.8969482421875 |507.3531494140625 |510.562353515625 |511.421240234375 |536.8068920898437 |20.335111618041992 |20.276386737823486| +|ResNet_v2_50 |2 |1 |4.7 |6567 |49.4828 |50.40600094376044 |1010 |39.63352195815285 |39.5345458984375 |40.452880859375 |41.1375 |42.940522460937494 |20.037296772003174 |20.01696753501892| +|ResNet_v2_50 |2 |4 |2.7 |6567 |44.4744 |83.4255836891382 |420 |95.38548002697172 |95.7069091796875 |97.599951171875 |98.098583984375 |102.39680908203125 |20.137707471847534 |20.03199553489685| +|ResNet_v2_50 |2 |8 |2.2 |6567 |42.898 |91.3727510505176 |230 |174.89108568274457 |175.0452880859375 |175.82001953125 |176.7634033203125 |178.64064453125002 |20.13729453086853 |20.1132071018219| +|ResNet_v2_50 |2 |16 |2.2 |6567 |45 |97.5591285698611 |124 |327.16720088835683 |328.6126708984375 |329.75185546875 |330.386962890625 |336.86397460937496 |20.336385011672974 |20.284939169883728| +|ResNet_v2_50 |2 |32 |3.2 |6567 |59.5714 |100.70765418116333 |64 |633.9812698364258 |637.8568115234375 |648.103515625 |650.7439697265625 |659.2212915039062 |20.336090803146362 |20.28787398338318| +|ResNet_v2_50 |4 |1 |3.1 |6567 |64.3333 |80.27845081929433 |1617 |49.56464230756223 |49.4873046875 |51.5537109375 |52.693408203125 |55.207568359374996 |20.142391681671143 |20.038144528865814| +|ResNet_v2_50 |4 |4 |3.3 |6567 |70.4563 |136.62061939701394 |688 |116.51574919944586 |121.8629150390625 |129.8181640625 |133.384423828125 |142.69500732421875 |20.143372297286987 |20.041599333286285| +|ResNet_v2_50 |4 |8 |3.0 |6567 |70.896 |158.46554975132275 |399 |201.30669079926378 |210.69775390625 |228.51748046875 |236.427294921875 |252.24822753906233 |20.143179416656494 |20.081032752990723| +|ResNet_v2_50 |4 |16 |3.2 |6567 |66.3832 |156.4935247130092 |197 |407.6668608224937 |423.974609375 |450.368212890625 |464.45986328125 |482.93658203125 |20.141408443450928 |20.078101694583893| +|ResNet_v2_50 |4 |32 |3.3 |6567 |72.4791 |162.01742190796557 |104 |785.5079204852765 |813.0341796875 |887.107958984375 |909.6556640625 |935.3334838867188 |20.541000843048096 |20.423666059970856| +|ResNet_v2_50 |8 |1 |3.5 |6567 |93.977 |115.9749228558386 |2337 |68.5580409078145 |65.45849609375 |76.13930664062501 |83.542041015625 |91.45666015624998 |20.15090799331665 |20.028797417879105| +|ResNet_v2_50 |8 |4 |4.2 |6567 |90.0952 |175.58748591910316 |889 |180.7330482920592 |170.5810546875 |218.99931640625 |240.06337890625002 |254.413759765625 |20.252012729644775 |20.084695398807526| +|ResNet_v2_50 |8 |8 |2.6 |6567 |93.8693 |206.76595246418208 |526 |306.52158695119414 |303.043212890625 |321.0791015625 |350.5477294921875 |400.32452392578125 |20.351513147354126 |20.15437400341034| +|ResNet_v2_50 |8 |16 |3.2 |6567 |85.7273 |205.31850043117367 |265 |614.1745522553066 |552.372314453125 |775.89169921875 |802.022607421875 |902.2763183593761 |20.650842428207397 |20.345011442899704| +|ResNet_v2_50 |8 |32 |5.0 |6567 |89.8717 |219.8410273718835 |146 |1138.4533474020761 |1039.640869140625 |1364.289794921875 |1474.6744384765625 |1788.2614379882834 |21.251720190048218 |20.777225106954575| +|ResNet_v2_50 |12 |1 |5.0 |6567 |89.4762 |110.00858327847862 |2218 |108.50048552943953 |103.015625 |121.09404296875003 |137.1392333984375 |151.80401123046872 |20.162063121795654 |20.055511037508648| +|ResNet_v2_50 |12 |4 |4.1 |6567 |77.7619 |153.7824464757549 |779 |309.68895575507463 |285.585205078125 |378.07421875 |413.481640625 |424.70853515625 |20.262390613555908 |20.104551911354065| +|ResNet_v2_50 |12 |8 |3.6 |6567 |72.6977 |165.36021780846013 |425 |571.1991590073529 |510.995849609375 |731.9383300781251 |747.6568359375 |757.304716796875 |20.56117272377014 |20.230452219645183| +|ResNet_v2_50 |12 |16 |1.5 |6567 |76.2222 |189.6414991568285 |252 |987.7153136238219 |926.00390625 |1080.99130859375 |1249.4956298828126 |1434.4802392578124 |21.26116919517517 |20.74245794614156| +|ResNet_v2_50 |12 |32 |2.8 |6567 |84.25 |203.868228281784 |138 |1811.640237559443 |1764.2760009765625 |1855.28046875 |2023.56826171875 |2586.8038134765625 |21.66105055809021 |20.834286351998646| +|ResNet_v2_50 |16 |1 |4.8 |6567 |94.3333 |116.34927733312234 |2347 |136.7957122373642 |135.959716796875 |144.1568359375 |146.105517578125 |175.05707519531248 |20.172020435333252 |20.067057371139526| +|ResNet_v2_50 |16 |4 |15.4 |6567 |83.6364 |160.59012047270738 |822 |393.3079394412447 |396.446533203125 |426.272216796875 |429.777734375 |564.1119360351562 |20.47448492050171 |20.206754431128502| +|ResNet_v2_50 |16 |8 |6.8 |6567 |81.0233 |169.95774070621547 |437 |741.5512622684854 |751.521484375 |763.199169921875 |948.8041992187501 |1001.156142578125 |20.56981921195984 |20.254074171185493| +|ResNet_v2_50 |16 |16 |3.5 |6567 |77.8706 |186.56600081516 |248 |1332.1007946383568 |1365.2745361328125 |1399.212255859375 |1432.4037353515625 |1771.4374853515626 |21.26861262321472 |20.64799252152443| +|ResNet_v2_50 |16 |32 |4.3 |6567 |83.6371 |201.1293408638195 |140 |2419.3400198800223 |2561.09228515625 |2616.081103515625 |2642.0835205078124 |2883.8197412109366 |22.274224042892456 |21.169659316539764| diff --git a/doc/Offical_Docs/9-0_Kubernetes_Int_CN.md b/doc/Offical_Docs/9-0_Kubernetes_Int_CN.md index 16559a58f..cd0668096 100644 --- a/doc/Offical_Docs/9-0_Kubernetes_Int_CN.md +++ b/doc/Offical_Docs/9-0_Kubernetes_Int_CN.md @@ -3,6 +3,5 @@ Kubernetes 集群部署 服务部署经历从物理机、虚拟机、容器化、云原生4个阶段。云原生,提供集装箱组合模式的乐高生态,Docker、Kubernetes 已称为云原生时代基础设施,推动应用程序大发展。Kubernetes 的可扩展性和分布式架构一直是人工智能和机器学习的绝佳选择,随着解决方案不断成熟,推动机器学习大规模工程落地。 本章节介绍 Kubernetes 上集群化部署 Paddle Serving 方案以及企业级安全网关部署案例。 -- [Kubernetes 集群部署方案]() +- [Kubernetes 集群部署方案](./9-1_Kubernetes_CN.md) - [Kubernetes 安全网关部署案例]() - diff --git a/doc/Offical_Docs/Home_Page_CN.md b/doc/Offical_Docs/Home_Page_CN.md new file mode 100644 index 000000000..183e060b3 --- /dev/null +++ b/doc/Offical_Docs/Home_Page_CN.md @@ -0,0 +1,88 @@ +# Paddle Serving - 端到端服务化推理框架 + +## 1.Paddle Serving 介绍 +面向模型服务化部署场景的端到端服务化推理框架 Paddle Serving,可以实现飞桨模型在 X86、ARM 平台多种硬件上高性能服务化部署,支持5种以上的 GPU、NPU 硬件推理加速;此外,Paddle Serving 提供 Docker 和 Kubernetes 的云端部署方案。 + +## 2.快速上手-代码模块 + +进入到 Serving 的 git 目录下,进入到 [fit_a_line](https://github.com/PaddlePaddle/Serving/tree/v0.8.3/examples/C%2B%2B/fit_a_line) 示例 +``` +## 下载模型 +sh get_data.sh + +## 启动服务 +python3 -m paddle_serving_server.serve --model uci_housing_model --thread 10 --port 9393 + +## HTTP curl +curl -XPOST http://0.0.0.0:9393/GeneralModelService/inference -d ' {"tensor":[{"float_data":[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],"elem_type":1,"name":"x","alias_name":"x","shape":[1,13]}],"fetch_var_names":["price"],"log_id":0}' +``` + +## 3.部署流程图 + +开发流程:①准备部署环境;②准备部署模型;③Serving程序开发;④服务启动与优化 + +**①准备部署环境** +docker 是一个开源的应用容器引擎,可以让应用程序更加方便地被打包和移植。Paddle Serving 容器化部署建议在 docker 中进行Serving服务化部署。在 Serving Docker 环境中安装 PYTHON Wheel 包 + +**②准备部署模型** + +下载推理模型后,为了便于模型服务化部署,需要将推理模型保存成用于 Serving 部署的参数形式 + +**③Serving程序开发** + +修改服务端和客户端代码适配模型的前后处理,通过修改配置或命令行参数,如端口、指定硬件和并发数量等指定部署参数。 + +**④服务启动与优化** + +命令方式启动服务端和客户端,根据输出结果和性能指标做进一步的性能优化。 + +## 4.Demo 展示区 + +参考 [模型库](./4-0_ModelZoo_CN.md) + +## 5.核心优势 + +Paddle Serving 具备工业级功能、高性能等优势。 + +**一.工业级** + +- 支持 HTTP、gRPC、bRPC 等多种协议;提供 C++、Python、Java 语言 SDK +- 设计并实现基于有向无环图(DAG)的异步流水线高性能推理框架,具有多模型组合、异步调度、并发推理、动态批量、多卡多流推理、请求缓存等特性 +- 适配 x86(Intel) CPU、ARM CPU、Nvidia GPU、昆仑 XPU、华为昇腾310/910、海光 DCU、Nvidia Jetson 等多种硬件 +- 集成 Intel MKLDNN、Nvidia TensorRT 加速库,以及低精度和量化推理 +- 提供一套模型安全部署解决方案,包括加密模型部署、鉴权校验、HTTPs 安全网关,并在实际项目中应用 +- 支持云端部署,提供百度云智能云 kubernetes 集群部署 Paddle Serving 案例 +- 提供丰富的经典模型部署示例,如 PaddleOCR、PaddleClas、PaddleDetection、PaddleSeg、PaddleNLP 和 PaddleRec等套件,共计40多个预训练精品模型 + +**二.高性能** + +# 1. 测试环境和说明 +1) GPU型号:Tesla P4(7611 Mib) +2) Cuda版本:11.0 +3) 模型:ResNet_v2_50 +4) 为了测试异步合并batch的效果,测试数据中batch=1 +5) [使用的测试代码和使用的数据集](../../examples/C++/PaddleClas/resnet_v2_50) +6) 下图中蓝色是C++ Serving,灰色为TF-Serving。 +7) 折线图为QPS,数值越大表示每秒钟处理的请求数量越大,性能就越好。 +8) 柱状图为平均处理时延,数值越大表示单个请求处理时间越长,性能就越差。 + +同步模型默认参数配置情况下,C++ Serving QPS 和平均时延指标均优于 TF-Serving。 +

+
+ +
+

+ +异步模式情况下,两者性能接近,但当 Client 并发数达到70的时候,TF-Serving 服务直接超时,而 C++ Serving 能够正常返回结果。 +

+
+ +
+

+ + +## 6.合作案例 + +## 7.资源汇总 + +## 8.开发者贡献&社区 diff --git a/doc/Offical_Docs/images/6-1_Cpp_Asynchronous_Framwork_CN_1.png b/doc/Offical_Docs/images/6-1_Cpp_Asynchronous_Framwork_CN_1.png new file mode 100644 index 0000000000000000000000000000000000000000..88c36f7688719d7081598e5177cd64042ab5c9de GIT binary patch literal 366826 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� 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

%UL2@V+3T?E`_v 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 literal 0 HcmV?d00001 diff --git a/doc/Offical_Docs/images/6-5_Cpp_ABTest_CN_1.png b/doc/Offical_Docs/images/6-5_Cpp_ABTest_CN_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8f8980dffb46f4960390e6edb281968ae8bd83 GIT binary patch literal 302218 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

R2 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�BkOe{kp9agw*%#SIuNW{atogi4F=!H) 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

9PDHEC8a~c8jjyj@e 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 BP5%G@ literal 0 HcmV?d00001 diff --git a/examples/C++/PaddleClas/resnet_50_vd/README_CN.md b/examples/C++/PaddleClas/resnet_50_vd/README_CN.md new file mode 100644 index 000000000..0034b5b4c --- /dev/null +++ b/examples/C++/PaddleClas/resnet_50_vd/README_CN.md @@ -0,0 +1,69 @@ +# 图像分类 + +## 1.获取模型 + +``` +wget https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/ResNet50_vd_infer.tar && tar xf ResNet50_vd_infer.tar + +``` + +## 2.用 paddle_serving_client 把下载的推理模型保存用于 Serving 部署的模型参数 +``` +# 保存 ResNet50_vd 模型参数 +python3 -m paddle_serving_client.convert --dirname ./ResNet50_vd_infer/ \ + --model_filename inference.pdmodel \ + --params_filename inference.pdiparams \ + --serving_server ./ResNet50_vd_serving/ \ + --serving_client ./ResNet50_vd_client/ +``` +会在当前文件夹多出 `ResNet50_vd_serving` 和 `ResNet50_vd_client` 的文件夹 + + +保存参数后,会在当前文件夹多出 `ResNet50_vd_serving` 和 `ResNet50_vd_client` 的文件夹: +``` +├── daisy.jpg +├── http_client.py +├── imagenet.label +├── ResNet50_vd_client +│   ├── serving_client_conf.prototxt +│   └── serving_client_conf.stream.prototxt +├── ResNet50_vd_infer +│   ├── inference.pdiparams +│   ├── inference.pdiparams.info +│   └── inference.pdmodel +├── ResNet50_vd_serving +│   ├── fluid_time_file +│   ├── inference.pdiparams +│   ├── inference.pdmodel +│   ├── serving_server_conf.prototxt +│   └── serving_server_conf.stream.prototxt +├── rpc_client.py +``` + +**三.启动服务** + +C++ Serving 服务可以指定一个网络端口同时接收 HTTP、gRPC 和 bRPC 请求。命令参数 `--model` 指定模型路径,`--gpu_ids` 指定 GPU 卡,`--port` 指定端口。 + +``` +python3 -m paddle_serving_server.serve --model ResNet50_vd_serving --gpu_ids 0 --port 9394 +``` + +**四.启动客户端** + +1. `rpc_client.py` 封装了 HTTP 请求客户端 + +``` +python3 http_client.py +``` + +2. `http_client.py` 封装了 gRPC 请求客户端 + +``` +python3 rpc_client.py +``` + +成功运行后,模型预测的结果会打印如下: + +``` +prediction: daisy, probability: 0.9341399073600769 +``` diff --git a/examples/C++/PaddleClas/resnet_50_vd/daisy.jpg b/examples/C++/PaddleClas/resnet_50_vd/daisy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7edeca63e5f32e68550ef720d81f59df58a8eabc GIT binary patch literal 39696 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 W##>Ru&v$Q>Ac6~0A8IH*&;Qw&gu-k9 literal 0 HcmV?d00001 diff --git a/examples/C++/PaddleClas/resnet_50_vd/http_client.py b/examples/C++/PaddleClas/resnet_50_vd/http_client.py new file mode 100644 index 000000000..722f489e3 --- /dev/null +++ b/examples/C++/PaddleClas/resnet_50_vd/http_client.py @@ -0,0 +1,82 @@ +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys +from paddle_serving_client import HttpClient + +#app +from paddle_serving_app.reader import Sequential, URL2Image, Resize +from paddle_serving_app.reader import CenterCrop, RGB2BGR, Transpose, Div, Normalize +import time + +client = HttpClient() +client.load_client_config("./ResNet50_vd_client/serving_client_conf.prototxt") +''' +if you want use GRPC-client, set_use_grpc_client(True) +or you can directly use client.grpc_client_predict(...) +as for HTTP-client,set_use_grpc_client(False)(which is default) +or you can directly use client.http_client_predict(...) +''' +#client.set_use_grpc_client(True) +''' +if you want to enable Encrypt Module,uncommenting the following line +''' +#client.use_key("./key") +''' +if you want to compress,uncommenting the following line +''' +#client.set_response_compress(True) +#client.set_request_compress(True) +''' +we recommend use Proto data format in HTTP-body, set True(which is default) +if you want use JSON data format in HTTP-body, set False +''' +#client.set_http_proto(True) +client.connect(["127.0.0.1:9394"]) + +label_dict = {} +label_idx = 0 +with open("imagenet.label") as fin: + for line in fin: + label_dict[label_idx] = line.strip() + label_idx += 1 + +#preprocess +seq = Sequential([ + URL2Image(), Resize(256), CenterCrop(224), RGB2BGR(), Transpose((2, 0, 1)), + Div(255), Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225], True) +]) + +start = time.time() +image_file = "https://paddle-serving.bj.bcebos.com/imagenet-example/daisy.jpg" +for i in range(1): + img = seq(image_file) + res = client.predict(feed={"inputs": img}, fetch=[], batch=False) + + if res is None: + raise ValueError("predict error") + + if res.err_no != 0: + raise ValueError("predict error. Response : {}".format(res)) + + max_val = res.outputs[0].tensor[0].float_data[0] + max_idx = 0 + for one_data in enumerate(res.outputs[0].tensor[0].float_data): + if one_data[1] > max_val: + max_val = one_data[1] + max_idx = one_data[0] + label = label_dict[max_idx].strip().replace(",", "") + print("prediction: {}, probability: {}".format(label, max_val)) +end = time.time() +print(end - start) diff --git a/examples/C++/PaddleClas/resnet_50_vd/imagenet.label b/examples/C++/PaddleClas/resnet_50_vd/imagenet.label new file mode 100644 index 000000000..d71467351 --- /dev/null +++ b/examples/C++/PaddleClas/resnet_50_vd/imagenet.label @@ -0,0 +1,1000 @@ +tench, Tinca tinca, +goldfish, Carassius auratus, +great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias, +tiger shark, Galeocerdo cuvieri, +hammerhead, hammerhead shark, +electric ray, crampfish, numbfish, torpedo, +stingray, +cock, +hen, +ostrich, Struthio camelus, +brambling, Fringilla montifringilla, +goldfinch, Carduelis carduelis, +house finch, linnet, Carpodacus mexicanus, +junco, snowbird, +indigo bunting, indigo finch, indigo bird, Passerina cyanea, +robin, American robin, Turdus migratorius, +bulbul, +jay, +magpie, +chickadee, +water ouzel, dipper, +kite, +bald eagle, American eagle, Haliaeetus leucocephalus, +vulture, +great grey owl, great gray owl, Strix nebulosa, +European fire salamander, Salamandra salamandra, +common newt, Triturus vulgaris, +eft, +spotted salamander, Ambystoma maculatum, +axolotl, mud puppy, Ambystoma mexicanum, +bullfrog, Rana catesbeiana, +tree frog, tree-frog, +tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui, +loggerhead, loggerhead turtle, Caretta caretta, +leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea, +mud turtle, +terrapin, +box turtle, box tortoise, +banded gecko, +common iguana, iguana, Iguana iguana, +American chameleon, anole, Anolis carolinensis, +whiptail, whiptail lizard, +agama, +frilled lizard, Chlamydosaurus kingi, +alligator lizard, +Gila monster, Heloderma suspectum, +green lizard, Lacerta viridis, +African chameleon, Chamaeleo chamaeleon, +Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis, +African crocodile, Nile crocodile, Crocodylus niloticus, +American alligator, Alligator mississipiensis, +triceratops, +thunder snake, worm snake, Carphophis amoenus, +ringneck snake, ring-necked snake, ring snake, +hognose snake, puff adder, sand viper, +green snake, grass snake, +king snake, kingsnake, +garter snake, grass snake, +water snake, +vine snake, +night snake, Hypsiglena torquata, +boa constrictor, Constrictor constrictor, +rock python, rock snake, Python sebae, +Indian cobra, Naja naja, +green mamba, +sea snake, +horned viper, cerastes, sand viper, horned asp, Cerastes cornutus, +diamondback, diamondback rattlesnake, Crotalus adamanteus, +sidewinder, horned rattlesnake, Crotalus cerastes, +trilobite, +harvestman, daddy longlegs, Phalangium opilio, +scorpion, +black and gold garden spider, Argiope aurantia, +barn spider, Araneus cavaticus, +garden spider, Aranea diademata, +black widow, Latrodectus mactans, +tarantula, +wolf spider, hunting spider, +tick, +centipede, +black grouse, +ptarmigan, +ruffed grouse, partridge, Bonasa umbellus, +prairie chicken, prairie grouse, prairie fowl, +peacock, +quail, +partridge, +African grey, African gray, Psittacus erithacus, +macaw, +sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita, +lorikeet, +coucal, +bee eater, +hornbill, +hummingbird, +jacamar, +toucan, +drake, +red-breasted merganser, Mergus serrator, +goose, +black swan, Cygnus atratus, +tusker, +echidna, spiny anteater, anteater, +platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus, +wallaby, brush kangaroo, +koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus, +wombat, +jellyfish, +sea anemone, anemone, +brain coral, +flatworm, platyhelminth, +nematode, nematode worm, roundworm, +conch, +snail, +slug, +sea slug, nudibranch, +chiton, coat-of-mail shell, sea cradle, polyplacophore, +chambered nautilus, pearly nautilus, nautilus, +Dungeness crab, Cancer magister, +rock crab, Cancer irroratus, +fiddler crab, +king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica, +American lobster, Northern lobster, Maine lobster, Homarus americanus, +spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish, +crayfish, crawfish, crawdad, crawdaddy, +hermit crab, +isopod, +white stork, Ciconia ciconia, +black stork, Ciconia nigra, +spoonbill, +flamingo, +little blue heron, Egretta caerulea, +American egret, great white heron, Egretta albus, +bittern, +crane, +limpkin, Aramus pictus, +European gallinule, Porphyrio porphyrio, +American coot, marsh hen, mud hen, water hen, Fulica americana, +bustard, +ruddy turnstone, Arenaria interpres, +red-backed sandpiper, dunlin, Erolia alpina, +redshank, Tringa totanus, +dowitcher, +oystercatcher, oyster catcher, +pelican, +king penguin, Aptenodytes patagonica, +albatross, mollymawk, +grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus, +killer whale, killer, orca, grampus, sea wolf, Orcinus orca, +dugong, Dugong dugon, +sea lion, +Chihuahua, +Japanese spaniel, +Maltese dog, Maltese terrier, Maltese, +Pekinese, Pekingese, Peke, +Shih-Tzu, +Blenheim spaniel, +papillon, +toy terrier, +Rhodesian ridgeback, +Afghan hound, Afghan, +basset, basset hound, +beagle, +bloodhound, sleuthhound, +bluetick, +black-and-tan coonhound, +Walker hound, Walker foxhound, +English foxhound, +redbone, +borzoi, Russian wolfhound, +Irish wolfhound, +Italian greyhound, +whippet, +Ibizan hound, Ibizan Podenco, +Norwegian elkhound, elkhound, +otterhound, otter hound, +Saluki, gazelle hound, +Scottish deerhound, deerhound, +Weimaraner, +Staffordshire bullterrier, Staffordshire bull terrier, +American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier, +Bedlington terrier, +Border terrier, +Kerry blue terrier, +Irish terrier, +Norfolk terrier, +Norwich terrier, +Yorkshire terrier, +wire-haired fox terrier, +Lakeland terrier, +Sealyham terrier, Sealyham, +Airedale, Airedale terrier, +cairn, cairn terrier, +Australian terrier, +Dandie Dinmont, Dandie Dinmont terrier, +Boston bull, Boston terrier, +miniature schnauzer, +giant schnauzer, +standard schnauzer, +Scotch terrier, Scottish terrier, Scottie, +Tibetan terrier, chrysanthemum dog, +silky terrier, Sydney silky, +soft-coated wheaten terrier, +West Highland white terrier, +Lhasa, Lhasa apso, +flat-coated retriever, +curly-coated retriever, +golden retriever, +Labrador retriever, +Chesapeake Bay retriever, +German short-haired pointer, +vizsla, Hungarian pointer, +English setter, +Irish setter, red setter, +Gordon setter, +Brittany spaniel, +clumber, clumber spaniel, +English springer, English springer spaniel, +Welsh springer spaniel, +cocker spaniel, English cocker spaniel, cocker, +Sussex spaniel, +Irish water spaniel, +kuvasz, +schipperke, +groenendael, +malinois, +briard, +kelpie, +komondor, +Old English sheepdog, bobtail, +Shetland sheepdog, Shetland sheep dog, Shetland, +collie, +Border collie, +Bouvier des Flandres, Bouviers des Flandres, +Rottweiler, +German shepherd, German shepherd dog, German police dog, alsatian, +Doberman, Doberman pinscher, +miniature pinscher, +Greater Swiss Mountain dog, +Bernese mountain dog, +Appenzeller, +EntleBucher, +boxer, +bull mastiff, +Tibetan mastiff, +French bulldog, +Great Dane, +Saint Bernard, St Bernard, +Eskimo dog, husky, +malamute, malemute, Alaskan malamute, +Siberian husky, +dalmatian, coach dog, carriage dog, +affenpinscher, monkey pinscher, monkey dog, +basenji, +pug, pug-dog, +Leonberg, +Newfoundland, Newfoundland dog, +Great Pyrenees, +Samoyed, Samoyede, +Pomeranian, +chow, chow chow, +keeshond, +Brabancon griffon, +Pembroke, Pembroke Welsh corgi, +Cardigan, Cardigan Welsh corgi, +toy poodle, +miniature poodle, +standard poodle, +Mexican hairless, +timber wolf, grey wolf, gray wolf, Canis lupus, +white wolf, Arctic wolf, Canis lupus tundrarum, +red wolf, maned wolf, Canis rufus, Canis niger, +coyote, prairie wolf, brush wolf, Canis latrans, +dingo, warrigal, warragal, Canis dingo, +dhole, Cuon alpinus, +African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus, +hyena, hyaena, +red fox, Vulpes vulpes, +kit fox, Vulpes macrotis, +Arctic fox, white fox, Alopex lagopus, +grey fox, gray fox, Urocyon cinereoargenteus, +tabby, tabby cat, +tiger cat, +Persian cat, +Siamese cat, Siamese, +Egyptian cat, +cougar, puma, catamount, mountain lion, painter, panther, Felis concolor, +lynx, catamount, +leopard, Panthera pardus, +snow leopard, ounce, Panthera uncia, +jaguar, panther, Panthera onca, Felis onca, +lion, king of beasts, Panthera leo, +tiger, Panthera tigris, +cheetah, chetah, Acinonyx jubatus, +brown bear, bruin, Ursus arctos, +American black bear, black bear, Ursus americanus, Euarctos americanus, +ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus, +sloth bear, Melursus ursinus, Ursus ursinus, +mongoose, +meerkat, mierkat, +tiger beetle, +ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle, +ground beetle, carabid beetle, +long-horned beetle, longicorn, longicorn beetle, +leaf beetle, chrysomelid, +dung beetle, +rhinoceros beetle, +weevil, +fly, +bee, +ant, emmet, pismire, +grasshopper, hopper, +cricket, +walking stick, walkingstick, stick insect, +cockroach, roach, +mantis, mantid, +cicada, cicala, +leafhopper, +lacewing, lacewing fly, +"dragonfly, darning needle, devils darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk", +damselfly, +admiral, +ringlet, ringlet butterfly, +monarch, monarch butterfly, milkweed butterfly, Danaus plexippus, +cabbage butterfly, +sulphur butterfly, sulfur butterfly, +lycaenid, lycaenid butterfly, +starfish, sea star, +sea urchin, +sea cucumber, holothurian, +wood rabbit, cottontail, cottontail rabbit, +hare, +Angora, Angora rabbit, +hamster, +porcupine, hedgehog, +fox squirrel, eastern fox squirrel, Sciurus niger, +marmot, +beaver, +guinea pig, Cavia cobaya, +sorrel, +zebra, +hog, pig, grunter, squealer, Sus scrofa, +wild boar, boar, Sus scrofa, +warthog, +hippopotamus, hippo, river horse, Hippopotamus amphibius, +ox, +water buffalo, water ox, Asiatic buffalo, Bubalus bubalis, +bison, +ram, tup, +bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis, +ibex, Capra ibex, +hartebeest, +impala, Aepyceros melampus, +gazelle, +Arabian camel, dromedary, Camelus dromedarius, +llama, +weasel, +mink, +polecat, fitch, foulmart, foumart, Mustela putorius, +black-footed ferret, ferret, Mustela nigripes, +otter, +skunk, polecat, wood pussy, +badger, +armadillo, +three-toed sloth, ai, Bradypus tridactylus, +orangutan, orang, orangutang, Pongo pygmaeus, +gorilla, Gorilla gorilla, +chimpanzee, chimp, Pan troglodytes, +gibbon, Hylobates lar, +siamang, Hylobates syndactylus, Symphalangus syndactylus, +guenon, guenon monkey, +patas, hussar monkey, Erythrocebus patas, +baboon, +macaque, +langur, +colobus, colobus monkey, +proboscis monkey, Nasalis larvatus, +marmoset, +capuchin, ringtail, Cebus capucinus, +howler monkey, howler, +titi, titi monkey, +spider monkey, Ateles geoffroyi, +squirrel monkey, Saimiri sciureus, +Madagascar cat, ring-tailed lemur, Lemur catta, +indri, indris, Indri indri, Indri brevicaudatus, +Indian elephant, Elephas maximus, +African elephant, Loxodonta africana, +lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens, +giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca, +barracouta, snoek, +eel, +coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch, +rock beauty, Holocanthus tricolor, +anemone fish, +sturgeon, +gar, garfish, garpike, billfish, Lepisosteus osseus, +lionfish, +puffer, pufferfish, blowfish, globefish, +abacus, +abaya, +"academic gown, academic robe, judges robe", +accordion, piano accordion, squeeze box, +acoustic guitar, +aircraft carrier, carrier, flattop, attack aircraft carrier, +airliner, +airship, dirigible, +altar, +ambulance, +amphibian, amphibious vehicle, +analog clock, +apiary, bee house, +apron, +ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin, +assault rifle, assault gun, +backpack, back pack, knapsack, packsack, rucksack, haversack, +bakery, bakeshop, bakehouse, +balance beam, beam, +balloon, +ballpoint, ballpoint pen, ballpen, Biro, +Band Aid, +banjo, +bannister, banister, balustrade, balusters, handrail, +barbell, +barber chair, +barbershop, +barn, +barometer, +barrel, cask, +barrow, garden cart, lawn cart, wheelbarrow, +baseball, +basketball, +bassinet, +bassoon, +bathing cap, swimming cap, +bath towel, +bathtub, bathing tub, bath, tub, +beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon, +beacon, lighthouse, beacon light, pharos, +beaker, +bearskin, busby, shako, +beer bottle, +beer glass, +bell cote, bell cot, +bib, +bicycle-built-for-two, tandem bicycle, tandem, +bikini, two-piece, +binder, ring-binder, +binoculars, field glasses, opera glasses, +birdhouse, +boathouse, +bobsled, bobsleigh, bob, +bolo tie, bolo, bola tie, bola, +bonnet, poke bonnet, +bookcase, +bookshop, bookstore, bookstall, +bottlecap, +bow, +bow tie, bow-tie, bowtie, +brass, memorial tablet, plaque, +brassiere, bra, bandeau, +breakwater, groin, groyne, mole, bulwark, seawall, jetty, +breastplate, aegis, egis, +broom, +bucket, pail, +buckle, +bulletproof vest, +bullet train, bullet, +butcher shop, meat market, +cab, hack, taxi, taxicab, +caldron, cauldron, +candle, taper, wax light, +cannon, +canoe, +can opener, tin opener, +cardigan, +car mirror, +carousel, carrousel, merry-go-round, roundabout, whirligig, +"carpenters kit, tool kit", +carton, +car wheel, +cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM, +cassette, +cassette player, +castle, +catamaran, +CD player, +cello, violoncello, +cellular telephone, cellular phone, cellphone, cell, mobile phone, +chain, +chainlink fence, +chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour, +chain saw, chainsaw, +chest, +chiffonier, commode, +chime, bell, gong, +china cabinet, china closet, +Christmas stocking, +church, church building, +cinema, movie theater, movie theatre, movie house, picture palace, +cleaver, meat cleaver, chopper, +cliff dwelling, +cloak, +clog, geta, patten, sabot, +cocktail shaker, +coffee mug, +coffeepot, +coil, spiral, volute, whorl, helix, +combination lock, +computer keyboard, keypad, +confectionery, confectionary, candy store, +container ship, containership, container vessel, +convertible, +corkscrew, bottle screw, +cornet, horn, trumpet, trump, +cowboy boot, +cowboy hat, ten-gallon hat, +cradle, +crane, +crash helmet, +crate, +crib, cot, +Crock Pot, +croquet ball, +crutch, +cuirass, +dam, dike, dyke, +desk, +desktop computer, +dial telephone, dial phone, +diaper, nappy, napkin, +digital clock, +digital watch, +dining table, board, +dishrag, dishcloth, +dishwasher, dish washer, dishwashing machine, +disk brake, disc brake, +dock, dockage, docking facility, +dogsled, dog sled, dog sleigh, +dome, +doormat, welcome mat, +drilling platform, offshore rig, +drum, membranophone, tympan, +drumstick, +dumbbell, +Dutch oven, +electric fan, blower, +electric guitar, +electric locomotive, +entertainment center, +envelope, +espresso maker, +face powder, +feather boa, boa, +file, file cabinet, filing cabinet, +fireboat, +fire engine, fire truck, +fire screen, fireguard, +flagpole, flagstaff, +flute, transverse flute, +folding chair, +football helmet, +forklift, +fountain, +fountain pen, +four-poster, +freight car, +French horn, horn, +frying pan, frypan, skillet, +fur coat, +garbage truck, dustcart, +gasmask, respirator, gas helmet, +gas pump, gasoline pump, petrol pump, island dispenser, +goblet, +go-kart, +golf ball, +golfcart, golf cart, +gondola, +gong, tam-tam, +gown, +grand piano, grand, +greenhouse, nursery, glasshouse, +grille, radiator grille, +grocery store, grocery, food market, market, +guillotine, +hair slide, +hair spray, +half track, +hammer, +hamper, +hand blower, blow dryer, blow drier, hair dryer, hair drier, +hand-held computer, hand-held microcomputer, +handkerchief, hankie, hanky, hankey, +hard disc, hard disk, fixed disk, +harmonica, mouth organ, harp, mouth harp, +harp, +harvester, reaper, +hatchet, +holster, +home theater, home theatre, +honeycomb, +hook, claw, +hoopskirt, crinoline, +horizontal bar, high bar, +horse cart, horse-cart, +hourglass, +iPod, +iron, smoothing iron, +"jack-o-lantern", +jean, blue jean, denim, +jeep, landrover, +jersey, T-shirt, tee shirt, +jigsaw puzzle, +jinrikisha, ricksha, rickshaw, +joystick, +kimono, +knee pad, +knot, +lab coat, laboratory coat, +ladle, +lampshade, lamp shade, +laptop, laptop computer, +lawn mower, mower, +lens cap, lens cover, +letter opener, paper knife, paperknife, +library, +lifeboat, +lighter, light, igniter, ignitor, +limousine, limo, +liner, ocean liner, +lipstick, lip rouge, +Loafer, +lotion, +loudspeaker, speaker, speaker unit, loudspeaker system, speaker system, +"loupe, jewelers loupe", +lumbermill, sawmill, +magnetic compass, +mailbag, postbag, +mailbox, letter box, +maillot, +maillot, tank suit, +manhole cover, +maraca, +marimba, xylophone, +mask, +matchstick, +maypole, +maze, labyrinth, +measuring cup, +medicine chest, medicine cabinet, +megalith, megalithic structure, +microphone, mike, +microwave, microwave oven, +military uniform, +milk can, +minibus, +miniskirt, mini, +minivan, +missile, +mitten, +mixing bowl, +mobile home, manufactured home, +Model T, +modem, +monastery, +monitor, +moped, +mortar, +mortarboard, +mosque, +mosquito net, +motor scooter, scooter, +mountain bike, all-terrain bike, off-roader, +mountain tent, +mouse, computer mouse, +mousetrap, +moving van, +muzzle, +nail, +neck brace, +necklace, +nipple, +notebook, notebook computer, +obelisk, +oboe, hautboy, hautbois, +ocarina, sweet potato, +odometer, hodometer, mileometer, milometer, +oil filter, +organ, pipe organ, +oscilloscope, scope, cathode-ray oscilloscope, CRO, +overskirt, +oxcart, +oxygen mask, +packet, +paddle, boat paddle, +paddlewheel, paddle wheel, +padlock, +paintbrush, +"pajama, pyjama, pjs, jammies", +palace, +panpipe, pandean pipe, syrinx, +paper towel, +parachute, chute, +parallel bars, bars, +park bench, +parking meter, +passenger car, coach, carriage, +patio, terrace, +pay-phone, pay-station, +pedestal, plinth, footstall, +pencil box, pencil case, +pencil sharpener, +perfume, essence, +Petri dish, +photocopier, +pick, plectrum, plectron, +pickelhaube, +picket fence, paling, +pickup, pickup truck, +pier, +piggy bank, penny bank, +pill bottle, +pillow, +ping-pong ball, +pinwheel, +pirate, pirate ship, +pitcher, ewer, +"plane, carpenters plane, woodworking plane", +planetarium, +plastic bag, +plate rack, +plow, plough, +"plunger, plumbers helper", +Polaroid camera, Polaroid Land camera, +pole, +police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria, +poncho, +pool table, billiard table, snooker table, +pop bottle, soda bottle, +pot, flowerpot, +"potters wheel", +power drill, +prayer rug, prayer mat, +printer, +prison, prison house, +projectile, missile, +projector, +puck, hockey puck, +punching bag, punch bag, punching ball, punchball, +purse, +quill, quill pen, +quilt, comforter, comfort, puff, +racer, race car, racing car, +racket, racquet, +radiator, +radio, wireless, +radio telescope, radio reflector, +rain barrel, +recreational vehicle, RV, R.V., +reel, +reflex camera, +refrigerator, icebox, +remote control, remote, +restaurant, eating house, eating place, eatery, +revolver, six-gun, six-shooter, +rifle, +rocking chair, rocker, +rotisserie, +rubber eraser, rubber, pencil eraser, +rugby ball, +rule, ruler, +running shoe, +safe, +safety pin, +saltshaker, salt shaker, +sandal, +sarong, +sax, saxophone, +scabbard, +scale, weighing machine, +school bus, +schooner, +scoreboard, +screen, CRT screen, +screw, +screwdriver, +seat belt, seatbelt, +sewing machine, +shield, buckler, +shoe shop, shoe-shop, shoe store, +shoji, +shopping basket, +shopping cart, +shovel, +shower cap, +shower curtain, +ski, +ski mask, +sleeping bag, +slide rule, slipstick, +sliding door, +slot, one-armed bandit, +snorkel, +snowmobile, +snowplow, snowplough, +soap dispenser, +soccer ball, +sock, +solar dish, solar collector, solar furnace, +sombrero, +soup bowl, +space bar, +space heater, +space shuttle, +spatula, +speedboat, +"spider web, spiders web", +spindle, +sports car, sport car, +spotlight, spot, +stage, +steam locomotive, +steel arch bridge, +steel drum, +stethoscope, +stole, +stone wall, +stopwatch, stop watch, +stove, +strainer, +streetcar, tram, tramcar, trolley, trolley car, +stretcher, +studio couch, day bed, +stupa, tope, +submarine, pigboat, sub, U-boat, +suit, suit of clothes, +sundial, +sunglass, +sunglasses, dark glasses, shades, +sunscreen, sunblock, sun blocker, +suspension bridge, +swab, swob, mop, +sweatshirt, +swimming trunks, bathing trunks, +swing, +switch, electric switch, electrical switch, +syringe, +table lamp, +tank, army tank, armored combat vehicle, armoured combat vehicle, +tape player, +teapot, +teddy, teddy bear, +television, television system, +tennis ball, +thatch, thatched roof, +theater curtain, theatre curtain, +thimble, +thresher, thrasher, threshing machine, +throne, +tile roof, +toaster, +tobacco shop, tobacconist shop, tobacconist, +toilet seat, +torch, +totem pole, +tow truck, tow car, wrecker, +toyshop, +tractor, +trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi, +tray, +trench coat, +tricycle, trike, velocipede, +trimaran, +tripod, +triumphal arch, +trolleybus, trolley coach, trackless trolley, +trombone, +tub, vat, +turnstile, +typewriter keyboard, +umbrella, +unicycle, monocycle, +upright, upright piano, +vacuum, vacuum cleaner, +vase, +vault, +velvet, +vending machine, +vestment, +viaduct, +violin, fiddle, +volleyball, +waffle iron, +wall clock, +wallet, billfold, notecase, pocketbook, +wardrobe, closet, press, +warplane, military plane, +washbasin, handbasin, washbowl, lavabo, wash-hand basin, +washer, automatic washer, washing machine, +water bottle, +water jug, +water tower, +whiskey jug, +whistle, +wig, +window screen, +window shade, +Windsor tie, +wine bottle, +wing, +wok, +wooden spoon, +wool, woolen, woollen, +worm fence, snake fence, snake-rail fence, Virginia fence, +wreck, +yawl, +yurt, +web site, website, internet site, site, +comic book, +crossword puzzle, crossword, +street sign, +traffic light, traffic signal, stoplight, +book jacket, dust cover, dust jacket, dust wrapper, +menu, +plate, +guacamole, +consomme, +hot pot, hotpot, +trifle, +ice cream, icecream, +ice lolly, lolly, lollipop, popsicle, +French loaf, +bagel, beigel, +pretzel, +cheeseburger, +hotdog, hot dog, red hot, +mashed potato, +head cabbage, +broccoli, +cauliflower, +zucchini, courgette, +spaghetti squash, +acorn squash, +butternut squash, +cucumber, cuke, +artichoke, globe artichoke, +bell pepper, +cardoon, +mushroom, +Granny Smith, +strawberry, +orange, +lemon, +fig, +pineapple, ananas, +banana, +jackfruit, jak, jack, +custard apple, +pomegranate, +hay, +carbonara, +chocolate sauce, chocolate syrup, +dough, +meat loaf, meatloaf, +pizza, pizza pie, +potpie, +burrito, +red wine, +espresso, +cup, +eggnog, +alp, +bubble, +cliff, drop, drop-off, +coral reef, +geyser, +lakeside, lakeshore, +promontory, headland, head, foreland, +sandbar, sand bar, +seashore, coast, seacoast, sea-coast, +valley, vale, +volcano, +ballplayer, baseball player, +groom, bridegroom, +scuba diver, +rapeseed, +daisy, +"yellow ladys slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum", +corn, +acorn, +hip, rose hip, rosehip, +buckeye, horse chestnut, conker, +coral fungus, +agaric, +gyromitra, +stinkhorn, carrion fungus, +earthstar, +hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa, +bolete, +ear, spike, capitulum, +toilet tissue, toilet paper, bathroom tissue diff --git a/examples/C++/PaddleClas/resnet_50_vd/rpc_client.py b/examples/C++/PaddleClas/resnet_50_vd/rpc_client.py new file mode 100644 index 000000000..5e4c42841 --- /dev/null +++ b/examples/C++/PaddleClas/resnet_50_vd/rpc_client.py @@ -0,0 +1,51 @@ +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys +from paddle_serving_client import Client + +#app +from paddle_serving_app.reader import Sequential, URL2Image, Resize +from paddle_serving_app.reader import CenterCrop, RGB2BGR, Transpose, Div, Normalize +import time + +client = Client() +client.load_client_config("./ResNet50_vd_client/serving_client_conf.prototxt") +client.connect(["127.0.0.1:9394"]) + +label_dict = {} +label_idx = 0 +with open("imagenet.label") as fin: + for line in fin: + label_dict[label_idx] = line.strip() + label_idx += 1 + +#preprocess +seq = Sequential([ + URL2Image(), Resize(256), CenterCrop(224), RGB2BGR(), Transpose((2, 0, 1)), + Div(255), Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225], True) +]) + +start = time.time() +image_file = "https://paddle-serving.bj.bcebos.com/imagenet-example/daisy.jpg" +for i in range(1): + img = seq(image_file) + fetch_map = client.predict(feed={"inputs": img}, fetch=[], batch=False) + + prob = max(fetch_map["save_infer_model/scale_0.tmp_1"][0]) + label = label_dict[fetch_map["save_infer_model/scale_0.tmp_1"][0].tolist() + .index(prob)].strip().replace(",", "") + print("prediction: {}, probability: {}".format(label, prob)) +end = time.time() +print(end - start) diff --git a/examples/C++/imdb/README_CN.md b/examples/C++/imdb/README_CN.md index a1fecc8af..42841c6b8 100755 --- a/examples/C++/imdb/README_CN.md +++ b/examples/C++/imdb/README_CN.md @@ -1,4 +1,4 @@ -## IMDB评论情绪预测服务 +## IMDB 评论情绪预测 ABTest 服务 (简体中文|[English](./README.md)) @@ -11,16 +11,24 @@ sh get_data.sh ### 启动预测服务(支持BRPC-Client/GRPC-Client/Http-Client) +```python +## 启动 bow 模型服务 +python3 -m paddle_serving_server.serve --model imdb_bow_model/ --port 9297 >/dev/null 2>&1 & + +## 启动 cnn 模型服务 +python3 -m paddle_serving_server.serve --model imdb_cnn_model/ --port 9298 >/dev/null 2>&1 & + +## 启动 lstm 模型服务 +python3 -m paddle_serving_server.serve --model imdb_lstm_model/ --port 9299 >/dev/null 2>&1 & ``` -python3 -m paddle_serving_server.serve --model imdb_cnn_model/ --port 9292 -``` -### BRPC-Client预测 + +### ABTest 预测 ``` -head test_data/part-0 | python3 test_client.py imdb_cnn_client_conf/serving_client_conf.prototxt imdb.vocab +head test_data/part-0 | python3 abtest_client.py imdb_cnn_client_conf/serving_client_conf.prototxt imdb.vocab ``` 预测test_data/part-0的前十个样例。 -### BRPC-Client预测 +### http预测 ``` head test_data/part-0 | python3 test_http_client.py imdb_cnn_client_conf/serving_client_conf.prototxt imdb.vocab ``` diff --git a/examples/C++/imdb/abtest_client.py b/examples/C++/imdb/abtest_client.py index 1a14c87c3..e0f910e37 100644 --- a/examples/C++/imdb/abtest_client.py +++ b/examples/C++/imdb/abtest_client.py @@ -11,35 +11,35 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - +# pylint: disable=doc-string-missing from paddle_serving_client import Client +from paddle_serving_app.reader.imdb_reader import IMDBDataset +import sys import numpy as np client = Client() -client.load_client_config('imdb_bow_client_conf/serving_client_conf.prototxt') -client.add_variant("bow", ["127.0.0.1:8000"], 10) -client.add_variant("lstm", ["127.0.0.1:9000"], 90) +client.load_client_config(sys.argv[1]) +client.add_variant("bow", ["127.0.0.1:9297"], 10) +client.add_variant("cnn", ["127.0.0.1:9298"], 30) +client.add_variant("lstm", ["127.0.0.1:9299"], 60) client.connect() -print('please wait for about 10s') -with open('processed.data') as f: - cnt = {"bow": {'acc': 0, 'total': 0}, "lstm": {'acc': 0, 'total': 0}} - for line in f: - word_ids, label = line.split(';') - word_ids = [int(x) for x in word_ids.split(',')] - word_len = len(word_ids) - feed = { - "words": np.array(word_ids).reshape(word_len, 1), - "words.lod": [0, word_len] - } - fetch = ["acc", "cost", "prediction"] - [fetch_map, tag] = client.predict( - feed=feed, fetch=fetch, need_variant_tag=True, batch=True) - if (float(fetch_map["prediction"][0][1]) - 0.5) * (float(label[0]) - 0.5 - ) > 0: - cnt[tag]['acc'] += 1 - cnt[tag]['total'] += 1 +# you can define any english sentence or dataset here +# This example reuses imdb reader in training, you +# can define your own data preprocessing easily. +imdb_dataset = IMDBDataset() +imdb_dataset.load_resource(sys.argv[2]) - for tag, data in cnt.items(): - print('[{}](total: {}) acc: {}'.format(tag, data[ - 'total'], float(data['acc']) / float(data['total']))) +for line in sys.stdin: + word_ids, label = imdb_dataset.get_words_and_label(line) + word_len = len(word_ids) + feed = { + "words": np.array(word_ids).reshape(word_len, 1), + "words.lod": [0, word_len] + } + #print(feed) + fetch = ["prediction"] + fetch_map = client.predict( + feed=feed, fetch=fetch, batch=True, need_variant_tag=True) + print("server_tag={} prediction={} ".format(fetch_map[1], fetch_map[0][ + "prediction"][0])) diff --git a/examples/C++/imdb/test_http_client.py b/examples/C++/imdb/test_http_client.py index e3cc70515..d22b92d78 100755 --- a/examples/C++/imdb/test_http_client.py +++ b/examples/C++/imdb/test_http_client.py @@ -40,7 +40,7 @@ if you want use JSON data format in HTTP-body, set False ''' #client.set_http_proto(True) -client.connect(["127.0.0.1:9292"]) +client.connect(["127.0.0.1:9297"]) # you can define any english sentence or dataset here # This example reuses imdb reader in training, you diff --git a/java/src/main/proto/general_model_service.proto b/java/src/main/proto/general_model_service.proto index aa06d388a..6b0fc7e0d 100644 --- a/java/src/main/proto/general_model_service.proto +++ b/java/src/main/proto/general_model_service.proto @@ -89,11 +89,13 @@ message Request { message Response { repeated ModelOutput outputs = 1; repeated int64 profile_time = 2; - // Error code - int32 err_no = 3; + bool profile_server = 3; + uint64 log_id = 4; + // Error code + int32 err_no = 5; // Error messages - string err_msg = 4; + string err_msg = 6; }; message ModelOutput { diff --git a/paddle_inference/paddle/include/paddle_engine.h b/paddle_inference/paddle/include/paddle_engine.h index 1fbb7222c..2d7673055 100644 --- a/paddle_inference/paddle/include/paddle_engine.h +++ b/paddle_inference/paddle/include/paddle_engine.h @@ -241,10 +241,10 @@ class PaddleInferenceEngine : public EngineCore { } config.SwitchSpecifyInputNames(true); - config.SetCpuMathLibraryNumThreads(1); + config.SetCpuMathLibraryNumThreads(engine_conf.cpu_math_thread_num()); if (engine_conf.has_use_gpu() && engine_conf.use_gpu()) { // 2000MB GPU memory - config.EnableUseGpu(50, gpu_id); + config.EnableUseGpu(engine_conf.gpu_memory_mb(), gpu_id); if (engine_conf.has_gpu_multi_stream() && engine_conf.gpu_multi_stream()) { config.EnableGpuMultiStream(); @@ -267,17 +267,17 @@ class PaddleInferenceEngine : public EngineCore { if (engine_conf.has_use_trt() && engine_conf.use_trt()) { config.SwitchIrOptim(true); if (!engine_conf.has_use_gpu() || !engine_conf.use_gpu()) { - config.EnableUseGpu(50, gpu_id); + config.EnableUseGpu(engine_conf.gpu_memory_mb(), gpu_id); if (engine_conf.has_gpu_multi_stream() && engine_conf.gpu_multi_stream()) { config.EnableGpuMultiStream(); } } - config.EnableTensorRtEngine(1 << 25, + config.EnableTensorRtEngine(engine_conf.trt_workspace_size(), max_batch, local_min_subgraph_size, precision_type, - false, + engine_conf.trt_use_static(), FLAGS_use_calib); std::map> min_input_shape; std::map> max_input_shape; @@ -413,7 +413,11 @@ class PaddleInferenceEngine : public EngineCore { << ", use_ascend_cl: " << engine_conf.has_use_ascend_cl() << ", use_xpu: " << engine_conf.use_xpu() << ", enable_memory_optimization: " - << engine_conf.enable_memory_optimization(); + << engine_conf.enable_memory_optimization() + << ", gpu_memory_mb: " << engine_conf.gpu_memory_mb() + << ", cpu_math_thread_num: " << engine_conf.cpu_math_thread_num() + << ", trt_workspace_size: " << engine_conf.trt_workspace_size() + << ", trt_use_static: " << engine_conf.trt_use_static(); VLOG(2) << "create paddle predictor sucess, path: " << model_path; return 0; diff --git a/python/paddle_serving_server/serve.py b/python/paddle_serving_server/serve.py index 13f3739d1..8ac473d36 100755 --- a/python/paddle_serving_server/serve.py +++ b/python/paddle_serving_server/serve.py @@ -280,6 +280,27 @@ def serve_args(): default="", nargs="+", help="min_subgraph_size") + parser.add_argument( + "--gpu_memory_mb", + type=int, + default=50, + help="Initially allocate GPU storage size") + parser.add_argument( + "--cpu_math_thread_num", + type=int, + default=1, + help="Initialize the number of CPU computing threads") + parser.add_argument( + "--trt_workspace_size", + type=int, + default=33554432, + help="Initialize allocation 1 << 25 GPU storage size") + parser.add_argument( + "--trt_use_static", + default=False, + action="store_true", + help="Initialize TRT with static data") + return parser.parse_args() @@ -396,10 +417,14 @@ def start_gpu_card_model(gpu_mode, port, args): # pylint: disable=doc-string-mi server.set_dist_endpoints(args.dist_endpoints.split(",")) server.set_dist_subgraph_index(args.dist_subgraph_index) server.set_min_subgraph_size(args.min_subgraph_size) + server.set_gpu_memory_mb(args.gpu_memory_mb) + server.set_cpu_math_thread_num(args.cpu_math_thread_num) if args.use_trt and device == "gpu": server.set_trt() server.set_ir_optimize(True) + server.set_trt_workspace_size(args.trt_workspace_size) + server.set_trt_use_static(args.trt_use_static) if is_ocr: info = set_ocr_dynamic_shape_info() server.set_trt_dynamic_shape_info(info) diff --git a/python/paddle_serving_server/server.py b/python/paddle_serving_server/server.py index 266efc3e2..4edc69352 100755 --- a/python/paddle_serving_server/server.py +++ b/python/paddle_serving_server/server.py @@ -119,6 +119,10 @@ def __init__(self): self.dist_master_serving = False self.min_subgraph_size = [] self.trt_dynamic_shape_info = [] + self.gpu_memory_mb = 50 + self.cpu_math_thread_num = 1 + self.trt_workspace_size = 33554432 # 1 << 25 + self.trt_use_static = False def get_fetch_list(self, infer_node_idx=-1): fetch_names = [ @@ -289,6 +293,18 @@ def set_min_subgraph_size(self, min_subgraph_size): def set_trt_dynamic_shape_info(self, info): self.trt_dynamic_shape_info = info + def set_gpu_memory_mb(self, gpu_memory_mb): + self.gpu_memory_mb = gpu_memory_mb + + def set_cpu_math_thread_num(self, cpu_math_thread_num): + self.cpu_math_thread_num = cpu_math_thread_num + + def set_trt_workspace_size(self, trt_workspace_size): + self.trt_workspace_size = trt_workspace_size + + def set_trt_use_static(self, trt_use_static): + self.trt_use_static = trt_use_static + def _prepare_engine(self, model_config_paths, device, use_encryption_model): self.device = device if self.model_toolkit_conf == None: @@ -342,6 +358,10 @@ def _prepare_engine(self, model_config_paths, device, use_encryption_model): engine.use_xpu = self.use_xpu engine.use_ascend_cl = self.use_ascend_cl engine.use_gpu = False + #engine.gpu_memory_mb = self.gpu_memory_mb + #engine.cpu_math_thread_num = self.cpu_math_thread_num + #engine.trt_workspace_size = self.trt_workspace_size + #engine.trt_use_static = self.trt_use_static # use distributed model. if self.dist_subgraph_index >= 0: diff --git a/tools/cpp_examples/demo-serving/proto/general_model_service.proto b/tools/cpp_examples/demo-serving/proto/general_model_service.proto index 8fedb60e9..3a1cba2c7 100755 --- a/tools/cpp_examples/demo-serving/proto/general_model_service.proto +++ b/tools/cpp_examples/demo-serving/proto/general_model_service.proto @@ -42,6 +42,13 @@ message Request { message Response { repeated ModelOutput outputs = 1; repeated int64 profile_time = 2; + bool profile_server = 3; + uint64 log_id = 4; + + // Error code + int32 err_no = 5; + // Error messages + string err_msg = 6; }; message ModelOutput {