From dd458c19b3429b2e658fe08a376039c496292898 Mon Sep 17 00:00:00 2001 From: barrierye Date: Tue, 16 Jun 2020 21:06:07 +0800 Subject: [PATCH] fix bug in multithread version --- python/paddle_serving_server/pyserver.py | 7 +++++-- python/paddle_serving_server_gpu/pyserver.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/python/paddle_serving_server/pyserver.py b/python/paddle_serving_server/pyserver.py index 6d0bf49d..97c39bc9 100644 --- a/python/paddle_serving_server/pyserver.py +++ b/python/paddle_serving_server/pyserver.py @@ -37,6 +37,7 @@ import time import func_timeout import enum import collections +import copy class _TimeProfiler(object): @@ -630,7 +631,8 @@ class ThreadChannel(Queue.Queue): self._cv.notify_all() logging.debug(self._log("multi | {} get data succ!".format(op_name))) - return resp # reference, read only + # return resp # reference, read only + return copy.deepcopy(resp) def stop(self): #TODO @@ -987,7 +989,8 @@ class VirtualOp(Op): channel.add_producer(op.name) self._outputs.append(channel) - def _run_with_brpc(self, concurrency_idx, input_channel, output_channels): + def _run(self, concurrency_idx, input_channel, output_channels, client_type, + use_future): op_info_prefix = "[{}|{}]".format(self.name, concurrency_idx) log = self._get_log_func(op_info_prefix) self._is_run = True diff --git a/python/paddle_serving_server_gpu/pyserver.py b/python/paddle_serving_server_gpu/pyserver.py index 6d0bf49d..97c39bc9 100644 --- a/python/paddle_serving_server_gpu/pyserver.py +++ b/python/paddle_serving_server_gpu/pyserver.py @@ -37,6 +37,7 @@ import time import func_timeout import enum import collections +import copy class _TimeProfiler(object): @@ -630,7 +631,8 @@ class ThreadChannel(Queue.Queue): self._cv.notify_all() logging.debug(self._log("multi | {} get data succ!".format(op_name))) - return resp # reference, read only + # return resp # reference, read only + return copy.deepcopy(resp) def stop(self): #TODO @@ -987,7 +989,8 @@ class VirtualOp(Op): channel.add_producer(op.name) self._outputs.append(channel) - def _run_with_brpc(self, concurrency_idx, input_channel, output_channels): + def _run(self, concurrency_idx, input_channel, output_channels, client_type, + use_future): op_info_prefix = "[{}|{}]".format(self.name, concurrency_idx) log = self._get_log_func(op_info_prefix) self._is_run = True -- GitLab