提交 830ef619 编写于 作者: B barrierye

fix web service

上级 5f9006b2
......@@ -24,7 +24,9 @@ class BertService(WebService):
self.reader = BertReader(vocab_file="vocab.txt", max_seq_len=128)
def preprocess(self, feed={}, fetch=[]):
feed_res = self.reader.process(feed["words"].encode("utf-8"))
feed_res = [{
"words": self.reader.process(ins["words"].encode("utf-8"))
} for ins in feed]
return feed_res, fetch
......
......@@ -23,23 +23,14 @@ from paddle_serving_app import ImageReader
class ImageService(WebService):
def preprocess(self, feed={}, fetch=[]):
reader = ImageReader()
if "image" not in feed:
raise ("feed data error!")
if isinstance(feed["image"], list):
feed_batch = []
for image in feed["image"]:
sample = base64.b64decode(image)
img = reader.process_image(sample)
res_feed = {}
res_feed["image"] = img
feed_batch.append(res_feed)
return feed_batch, fetch
else:
sample = base64.b64decode(feed["image"])
feed_batch = []
for ins in feed:
if "image" not in ins:
raise ("feed data error!")
sample = base64.b64decode(ins["image"])
img = reader.process_image(sample)
res_feed = {}
res_feed["image"] = img
return res_feed, fetch
feed_batch.append({"image": img})
return feed_batch, fetch
image_service = ImageService(name="image")
......
......@@ -23,24 +23,14 @@ from paddle_serving_server_gpu.web_service import WebService
class ImageService(WebService):
def preprocess(self, feed={}, fetch=[]):
reader = ImageReader()
if "image" not in feed:
raise ("feed data error!")
print(type(feed["image"]), isinstance(feed["image"], list))
if isinstance(feed["image"], list):
feed_batch = []
for image in feed["image"]:
sample = base64.b64decode(image)
img = reader.process_image(sample)
res_feed = {}
res_feed["image"] = img
feed_batch.append(res_feed)
return feed_batch, fetch
else:
sample = base64.b64decode(feed["image"])
feed_batch = []
for ins in feed:
if "image" not in ins:
raise ("feed data error!")
sample = base64.b64decode(ins["image"])
img = reader.process_image(sample)
res_feed = {}
res_feed["image"] = img
return res_feed, fetch
feed_batch.append({"image": img})
return feed_batch, fetch
image_service = ImageService(name="image")
......
......@@ -26,10 +26,9 @@ class IMDBService(WebService):
self.dataset.load_resource(args["dict_file_path"])
def preprocess(self, feed={}, fetch=[]):
if "words" not in feed:
exit(-1)
res_feed = {}
res_feed["words"] = self.dataset.get_words_only(feed["words"])
res_feed = [{
"words": self.dataset.get_words_only(ins["words"])
} for ins in feed]
return res_feed, fetch
......
......@@ -22,15 +22,22 @@ class LACService(WebService):
self.reader = LACReader("lac_dict")
def preprocess(self, feed={}, fetch=[]):
if "words" not in feed:
raise ("feed data error!")
feed_data = self.reader.process(feed["words"])
batch_feed = []
for ins in feed:
if "words" not in ins:
raise ("feed data error!")
feed_data = self.reader.process(ins["words"])
batch_feed.append({"words": feed_data})
fetch = ["crf_decode"]
return {"words": feed_data}, fetch
return batch_feed, fetch
def postprocess(self, feed={}, fetch=[], fetch_map={}):
segs = self.reader.parse_result(feed["words"], fetch_map["crf_decode"])
return {"word_seg": "|".join(segs)}
ret = []
for idx, ins in enumerate(feed):
segs = self.reader.parse_result(ins["words"],
fetch_map[idx]["crf_decode"])
ret.append({"word_seg": "|".join(segs)})
return ret
lac_service = LACService(name="lac")
......
......@@ -87,7 +87,7 @@ class SentaService(WebService):
if self.show:
print("---- senta reader ----")
print("feed_data", feed_data)
return {"words": feed_data}, fetch
return [{"words": feed_data}], fetch
senta_service = SentaService(name="senta")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册