From be6cc2940da1fcd8bf484c7bac6482405fcab23d Mon Sep 17 00:00:00 2001 From: MRXLT Date: Mon, 6 Jul 2020 11:27:13 +0800 Subject: [PATCH] refine cube demo --- .../examples/criteo_ctr_with_cube/test_server.py | 6 +++++- python/paddle_serving_server/__init__.py | 16 +++++++++++++--- python/paddle_serving_server_gpu/__init__.py | 16 +++++++++++++--- tools/serving_build.sh | 6 ------ 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/python/examples/criteo_ctr_with_cube/test_server.py b/python/examples/criteo_ctr_with_cube/test_server.py index 5399ace8..479c6029 100755 --- a/python/examples/criteo_ctr_with_cube/test_server.py +++ b/python/examples/criteo_ctr_with_cube/test_server.py @@ -33,5 +33,9 @@ server = Server() server.set_op_sequence(op_seq_maker.get_op_sequence()) server.set_num_threads(4) server.load_model_config(sys.argv[1]) -server.prepare_server(workdir="work_dir1", port=9292, device="cpu") +server.prepare_server( + workdir="work_dir1", + port=9292, + device="cpu", + cube_conf="./cube/conf/cube.conf") server.run_server() diff --git a/python/paddle_serving_server/__init__.py b/python/paddle_serving_server/__init__.py index 875e275c..cf7b1126 100644 --- a/python/paddle_serving_server/__init__.py +++ b/python/paddle_serving_server/__init__.py @@ -25,6 +25,7 @@ from contextlib import closing import collections import fcntl +import shutil import numpy as np import grpc from .proto import multi_lang_general_model_service_pb2 @@ -230,7 +231,7 @@ class Server(object): infer_service.workflows.extend(["workflow1"]) self.infer_service_conf.services.extend([infer_service]) - def _prepare_resource(self, workdir): + def _prepare_resource(self, workdir, cube_conf): self.workdir = workdir if self.resource_conf == None: with open("{}/{}".format(workdir, self.general_model_config_fn), @@ -242,6 +243,11 @@ class Server(object): if "dist_kv" in node.name: self.resource_conf.cube_config_path = workdir self.resource_conf.cube_config_file = self.cube_config_fn + if cube_conf == None: + raise ValueError( + "Please set the path of cube.conf while use dist_kv op." + ) + shutil.copy(cube_conf, workdir) if "quant" in node.name: self.resource_conf.cube_quant_bits = 8 self.resource_conf.model_toolkit_path = workdir @@ -366,7 +372,11 @@ class Server(object): os.chdir(self.cur_path) self.bin_path = self.server_path + "/serving" - def prepare_server(self, workdir=None, port=9292, device="cpu"): + def prepare_server(self, + workdir=None, + port=9292, + device="cpu", + cube_conf=None): if workdir == None: workdir = "./tmp" os.system("mkdir {}".format(workdir)) @@ -377,7 +387,7 @@ class Server(object): if not self.port_is_available(port): raise SystemExit("Port {} is already used".format(port)) self.set_port(port) - self._prepare_resource(workdir) + self._prepare_resource(workdir, cube_conf) self._prepare_engine(self.model_config_paths, device) self._prepare_infer_service(port) self.workdir = workdir diff --git a/python/paddle_serving_server_gpu/__init__.py b/python/paddle_serving_server_gpu/__init__.py index 26288f6a..a31b577a 100644 --- a/python/paddle_serving_server_gpu/__init__.py +++ b/python/paddle_serving_server_gpu/__init__.py @@ -26,7 +26,7 @@ from contextlib import closing import argparse import collections import fcntl - +import shutil import numpy as np import grpc from .proto import multi_lang_general_model_service_pb2 @@ -285,7 +285,7 @@ class Server(object): infer_service.workflows.extend(["workflow1"]) self.infer_service_conf.services.extend([infer_service]) - def _prepare_resource(self, workdir): + def _prepare_resource(self, workdir, cube_conf): self.workdir = workdir if self.resource_conf == None: with open("{}/{}".format(workdir, self.general_model_config_fn), @@ -297,6 +297,11 @@ class Server(object): if "dist_kv" in node.name: self.resource_conf.cube_config_path = workdir self.resource_conf.cube_config_file = self.cube_config_fn + if cube_conf == None: + raise ValueError( + "Please set the path of cube.conf while use dist_kv op." + ) + shutil.copy(cube_conf, workdir) self.resource_conf.model_toolkit_path = workdir self.resource_conf.model_toolkit_file = self.model_toolkit_fn self.resource_conf.general_model_path = workdir @@ -406,7 +411,11 @@ class Server(object): os.chdir(self.cur_path) self.bin_path = self.server_path + "/serving" - def prepare_server(self, workdir=None, port=9292, device="cpu"): + def prepare_server(self, + workdir=None, + port=9292, + device="cpu", + cube_conf=None): if workdir == None: workdir = "./tmp" os.system("mkdir {}".format(workdir)) @@ -419,6 +428,7 @@ class Server(object): self.set_port(port) self._prepare_resource(workdir) + self._prepare_resource(workdir, cube_conf) self._prepare_engine(self.model_config_paths, device) self._prepare_infer_service(port) self.workdir = workdir diff --git a/tools/serving_build.sh b/tools/serving_build.sh index 09712316..498969b9 100644 --- a/tools/serving_build.sh +++ b/tools/serving_build.sh @@ -229,10 +229,7 @@ function python_run_criteo_ctr_with_cube() { check_cmd "mv models/data ./cube/" check_cmd "mv models/ut_data ./" cp ../../../build-server-$TYPE/output/bin/cube* ./cube/ - mkdir -p $PYTHONROOT/lib/python2.7/site-packages/paddle_serving_server/serving-cpu-avx-openblas-0.1.3/ - yes | cp ../../../build-server-$TYPE/output/demo/serving/bin/serving $PYTHONROOT/lib/python2.7/site-packages/paddle_serving_server/serving-cpu-avx-openblas-0.1.3/ sh cube_prepare.sh & - check_cmd "mkdir work_dir1 && cp cube/conf/cube.conf ./work_dir1/" python test_server.py ctr_serving_model_kv & sleep 5 check_cmd "python test_client.py ctr_client_conf/serving_client_conf.prototxt ./ut_data >score" @@ -257,10 +254,7 @@ function python_run_criteo_ctr_with_cube() { check_cmd "mv models/data ./cube/" check_cmd "mv models/ut_data ./" cp ../../../build-server-$TYPE/output/bin/cube* ./cube/ - mkdir -p $PYTHONROOT/lib/python2.7/site-packages/paddle_serving_server_gpu/serving-gpu-0.1.3/ - yes | cp ../../../build-server-$TYPE/output/demo/serving/bin/serving $PYTHONROOT/lib/python2.7/site-packages/paddle_serving_server_gpu/serving-gpu-0.1.3/ sh cube_prepare.sh & - check_cmd "mkdir work_dir1 && cp cube/conf/cube.conf ./work_dir1/" python test_server_gpu.py ctr_serving_model_kv & sleep 5 # for warm up -- GitLab