提交 6424359f 编写于 作者: Z zhangjun

run arm cpu bugfix use webservice;

brpc reduce BTHREAD_MIN_CONCURRENCY from 4 to 2
上级 3c525182
...@@ -36,7 +36,7 @@ INCLUDE_DIRECTORIES(${BRPC_INCLUDE_DIR}) ...@@ -36,7 +36,7 @@ INCLUDE_DIRECTORIES(${BRPC_INCLUDE_DIR})
set(prefix_path "${THIRD_PARTY_PATH}/install/gflags|${THIRD_PARTY_PATH}/install/leveldb|${THIRD_PARTY_PATH}/install/snappy|${THIRD_PARTY_PATH}/install/gtest|${THIRD_PARTY_PATH}/install/protobuf|${THIRD_PARTY_PATH}/install/zlib|${THIRD_PARTY_PATH}/install/glog") set(prefix_path "${THIRD_PARTY_PATH}/install/gflags|${THIRD_PARTY_PATH}/install/leveldb|${THIRD_PARTY_PATH}/install/snappy|${THIRD_PARTY_PATH}/install/gtest|${THIRD_PARTY_PATH}/install/protobuf|${THIRD_PARTY_PATH}/install/zlib|${THIRD_PARTY_PATH}/install/glog")
if(WITH_LITE) if(WITH_LITE)
set(BRPC_REPO "https://github.com/apache/incubator-brpc.git") set(BRPC_REPO "https://github.com/zhangjun/incubator-brpc.git")
set(BRPC_TAG "master") set(BRPC_TAG "master")
else() else()
set(BRPC_REPO "https://github.com/wangjiawei04/brpc") set(BRPC_REPO "https://github.com/wangjiawei04/brpc")
......
...@@ -19,6 +19,8 @@ namespace baidu { ...@@ -19,6 +19,8 @@ namespace baidu {
namespace paddle_serving { namespace paddle_serving {
namespace fluid_arm { namespace fluid_arm {
DEFINE_int32(gpuid, 0, "device id to use");
REGIST_FACTORY_OBJECT_IMPL_WITH_NAME( REGIST_FACTORY_OBJECT_IMPL_WITH_NAME(
::baidu::paddle_serving::predictor::FluidInferEngine<FluidArmAnalysisCore>, ::baidu::paddle_serving::predictor::FluidInferEngine<FluidArmAnalysisCore>,
::baidu::paddle_serving::predictor::InferEngine, ::baidu::paddle_serving::predictor::InferEngine,
......
...@@ -423,10 +423,12 @@ class Server(object): ...@@ -423,10 +423,12 @@ class Server(object):
for line in version_file.readlines(): for line in version_file.readlines():
if re.match("cuda_version", line): if re.match("cuda_version", line):
cuda_version = line.split("\"")[1] cuda_version = line.split("\"")[1]
if cuda_version != "trt": if cuda_version == "trt":
device_version = "serving-gpu-cuda" + cuda_version + "-"
else:
device_version = "serving-gpu-" + cuda_version + "-" device_version = "serving-gpu-" + cuda_version + "-"
elif cuda_version == "arm":
device_version = "serving-" + cuda_version + "-"
elif:
device_version = "serving-gpu-cuda" + cuda_version + "-"
folder_name = device_version + serving_server_version folder_name = device_version + serving_server_version
tar_name = folder_name + ".tar.gz" tar_name = folder_name + ".tar.gz"
......
...@@ -140,7 +140,8 @@ if __name__ == "__main__": ...@@ -140,7 +140,8 @@ if __name__ == "__main__":
if len(gpu_ids) > 0: if len(gpu_ids) > 0:
web_service.set_gpus(gpu_ids) web_service.set_gpus(gpu_ids)
web_service.prepare_server( web_service.prepare_server(
workdir=args.workdir, port=args.port, device=args.device) workdir=args.workdir, port=args.port, device=args.device,
use_lite=args.use_lite, use_xpu=args.use_xpu, ir_optim=args.ir_optim)
web_service.run_rpc_service() web_service.run_rpc_service()
app_instance = Flask(__name__) app_instance = Flask(__name__)
......
...@@ -83,10 +83,15 @@ class WebService(object): ...@@ -83,10 +83,15 @@ class WebService(object):
gpuid=0, gpuid=0,
thread_num=2, thread_num=2,
mem_optim=True, mem_optim=True,
use_lite=False,
use_xpu=False,
ir_optim=False): ir_optim=False):
device = "gpu" device = "gpu"
if gpuid == -1: if gpuid == -1:
device = "cpu" if use_lite:
device = "arm"
else:
device = "cpu"
op_maker = serving.OpMaker() op_maker = serving.OpMaker()
read_op = op_maker.create('general_reader') read_op = op_maker.create('general_reader')
general_infer_op = op_maker.create('general_infer') general_infer_op = op_maker.create('general_infer')
...@@ -103,6 +108,11 @@ class WebService(object): ...@@ -103,6 +108,11 @@ class WebService(object):
server.set_memory_optimize(mem_optim) server.set_memory_optimize(mem_optim)
server.set_ir_optimize(ir_optim) server.set_ir_optimize(ir_optim)
if use_lite:
server.set_lite()
if use_xpu:
server.set_xpu()
server.load_model_config(self.model_config) server.load_model_config(self.model_config)
if gpuid >= 0: if gpuid >= 0:
server.set_gpuid(gpuid) server.set_gpuid(gpuid)
...@@ -125,9 +135,11 @@ class WebService(object): ...@@ -125,9 +135,11 @@ class WebService(object):
workdir="", workdir="",
port=9393, port=9393,
device="gpu", device="gpu",
use_lite=False,
use_xpu=False,
ir_optim=False,
gpuid=0, gpuid=0,
mem_optim=True, mem_optim=True):
ir_optim=False):
print("This API will be deprecated later. Please do not use it") print("This API will be deprecated later. Please do not use it")
self.workdir = workdir self.workdir = workdir
self.port = port self.port = port
...@@ -150,6 +162,8 @@ class WebService(object): ...@@ -150,6 +162,8 @@ class WebService(object):
-1, -1,
thread_num=2, thread_num=2,
mem_optim=mem_optim, mem_optim=mem_optim,
use_lite=use_lite,
use_xpu=use_xpu,
ir_optim=ir_optim)) ir_optim=ir_optim))
else: else:
for i, gpuid in enumerate(self.gpus): for i, gpuid in enumerate(self.gpus):
...@@ -160,6 +174,8 @@ class WebService(object): ...@@ -160,6 +174,8 @@ class WebService(object):
gpuid, gpuid,
thread_num=2, thread_num=2,
mem_optim=mem_optim, mem_optim=mem_optim,
use_lite=use_lite,
use_xpu=use_xpu,
ir_optim=ir_optim)) ir_optim=ir_optim))
def _launch_web_service(self): def _launch_web_service(self):
......
...@@ -32,7 +32,7 @@ if '${PACK}' == 'ON': ...@@ -32,7 +32,7 @@ if '${PACK}' == 'ON':
REQUIRED_PACKAGES = [ REQUIRED_PACKAGES = [
'six >= 1.10.0', 'sentencepiece<=0.1.92', 'opencv-python<=4.2.0.32', 'pillow', 'six >= 1.10.0', 'sentencepiece', 'opencv-python', 'pillow',
'pyclipper' 'pyclipper'
] ]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册