diff --git a/deploy/hubserving/ocr_det/module.py b/deploy/hubserving/ocr_det/module.py index be74306dacf4a3648e3227f11227e6399e6ed2eb..d2cecaa475961e273b7dfcf68e9a0a991b21a69e 100644 --- a/deploy/hubserving/ocr_det/module.py +++ b/deploy/hubserving/ocr_det/module.py @@ -3,11 +3,14 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function +import os +import sys +sys.path.insert(0, ".") + import argparse import ast import copy import math -import os import time from paddle.fluid.core import AnalysisConfig, create_paddle_predictor, PaddleTensor @@ -67,9 +70,7 @@ class OCRDet(hub.Module): images.append(img) return images - def predict(self, - images=[], - paths=[]): + def predict(self, images=[], paths=[]): """ Get the text box in the predicted images. Args: @@ -87,7 +88,7 @@ class OCRDet(hub.Module): raise TypeError("The input data is inconsistent with expectations.") assert predicted_data != [], "There is not any image to be predicted. Please check the input data." - + all_results = [] for img in predicted_data: if img is None: @@ -99,11 +100,9 @@ class OCRDet(hub.Module): rec_res_final = [] for dno in range(len(dt_boxes)): - rec_res_final.append( - { - 'text_region': dt_boxes[dno].astype(np.int).tolist() - } - ) + rec_res_final.append({ + 'text_region': dt_boxes[dno].astype(np.int).tolist() + }) all_results.append(rec_res_final) return all_results @@ -116,7 +115,7 @@ class OCRDet(hub.Module): results = self.predict(images_decode, **kwargs) return results - + if __name__ == '__main__': ocr = OCRDet() image_path = [ @@ -124,4 +123,4 @@ if __name__ == '__main__': './doc/imgs/12.jpg', ] res = ocr.predict(paths=image_path) - print(res) \ No newline at end of file + print(res) diff --git a/deploy/hubserving/ocr_rec/module.py b/deploy/hubserving/ocr_rec/module.py index 846f5437fe3b0a5136bff6c902481f888558d594..e2d0bfdda3cf10dd425b09eaf41f48b43592d921 100644 --- a/deploy/hubserving/ocr_rec/module.py +++ b/deploy/hubserving/ocr_rec/module.py @@ -3,11 +3,14 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function +import os +import sys +sys.path.insert(0, ".") + import argparse import ast import copy import math -import os import time from paddle.fluid.core import AnalysisConfig, create_paddle_predictor, PaddleTensor @@ -67,9 +70,7 @@ class OCRRec(hub.Module): images.append(img) return images - def predict(self, - images=[], - paths=[]): + def predict(self, images=[], paths=[]): """ Get the text box in the predicted images. Args: @@ -87,31 +88,28 @@ class OCRRec(hub.Module): raise TypeError("The input data is inconsistent with expectations.") assert predicted_data != [], "There is not any image to be predicted. Please check the input data." - + img_list = [] for img in predicted_data: if img is None: continue img_list.append(img) - + rec_res_final = [] try: rec_res, predict_time = self.text_recognizer(img_list) for dno in range(len(rec_res)): text, score = rec_res[dno] - rec_res_final.append( - { - 'text': text, - 'confidence': float(score), - } - ) + rec_res_final.append({ + 'text': text, + 'confidence': float(score), + }) except Exception as e: print(e) return [[]] return [rec_res_final] - @serving def serving_method(self, images, **kwargs): """ @@ -121,7 +119,7 @@ class OCRRec(hub.Module): results = self.predict(images_decode, **kwargs) return results - + if __name__ == '__main__': ocr = OCRRec() image_path = [ @@ -130,4 +128,4 @@ if __name__ == '__main__': './doc/imgs_words/ch/word_3.jpg', ] res = ocr.predict(paths=image_path) - print(res) \ No newline at end of file + print(res) diff --git a/deploy/hubserving/ocr_system/module.py b/deploy/hubserving/ocr_system/module.py index cb526e1185d8eb623af84ba2451ff38523bbf642..a959fc0e063597acda3d6a6f0d5828b73db0be2e 100644 --- a/deploy/hubserving/ocr_system/module.py +++ b/deploy/hubserving/ocr_system/module.py @@ -3,11 +3,14 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function +import os +import sys +sys.path.insert(0, ".") + import argparse import ast import copy import math -import os import time from paddle.fluid.core import AnalysisConfig, create_paddle_predictor, PaddleTensor @@ -52,7 +55,7 @@ class OCRSystem(hub.Module): ) cfg.ir_optim = True cfg.enable_mkldnn = enable_mkldnn - + self.text_sys = TextSystem(cfg) def read_images(self, paths=[]): @@ -67,9 +70,7 @@ class OCRSystem(hub.Module): images.append(img) return images - def predict(self, - images=[], - paths=[]): + def predict(self, images=[], paths=[]): """ Get the chinese texts in the predicted images. Args: @@ -104,13 +105,11 @@ class OCRSystem(hub.Module): for dno in range(dt_num): text, score = rec_res[dno] - rec_res_final.append( - { - 'text': text, - 'confidence': float(score), - 'text_region': dt_boxes[dno].astype(np.int).tolist() - } - ) + rec_res_final.append({ + 'text': text, + 'confidence': float(score), + 'text_region': dt_boxes[dno].astype(np.int).tolist() + }) all_results.append(rec_res_final) return all_results @@ -123,7 +122,7 @@ class OCRSystem(hub.Module): results = self.predict(images_decode, **kwargs) return results - + if __name__ == '__main__': ocr = OCRSystem() image_path = [ @@ -131,4 +130,4 @@ if __name__ == '__main__': './doc/imgs/12.jpg', ] res = ocr.predict(paths=image_path) - print(res) \ No newline at end of file + print(res) diff --git a/deploy/hubserving/readme.md b/deploy/hubserving/readme.md index 0a904893b8630f2297008fae37a23b4246c5b928..44d2af86826fe6c77734c6a9d5b0c3d098cac44e 100644 --- a/deploy/hubserving/readme.md +++ b/deploy/hubserving/readme.md @@ -29,12 +29,6 @@ deploy/hubserving/ocr_system/ ```shell # 安装paddlehub pip3 install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple - -# 在Linux下设置环境变量 -export PYTHONPATH=. - -# 或者,在Windows下设置环境变量 -SET PYTHONPATH=. ``` ### 2. 下载推理模型 diff --git a/deploy/hubserving/readme_en.md b/deploy/hubserving/readme_en.md index d76702011b4a246ba3687cd67b0ace3e589cb058..c7ffb69a398f8463a4b94b46ea39d840c3d6de36 100644 --- a/deploy/hubserving/readme_en.md +++ b/deploy/hubserving/readme_en.md @@ -1,7 +1,7 @@ English | [简体中文](readme.md) -PaddleOCR provides 2 service deployment methods: -- Based on **PaddleHub Serving**: Code path is "`./deploy/hubserving`". Please follow this tutorial. +PaddleOCR provides 2 service deployment methods: +- Based on **PaddleHub Serving**: Code path is "`./deploy/hubserving`". Please follow this tutorial. - Based on **PaddleServing**: Code path is "`./deploy/pdserving`". Please refer to the [tutorial](../../doc/doc_ch/serving_inference.md) for usage. # Service deployment based on PaddleHub Serving @@ -30,12 +30,6 @@ The following steps take the 2-stage series service as an example. If only the d ```shell # Install paddlehub pip3 install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple - -# Set environment variables on Linux -export PYTHONPATH=. - -# Set environment variables on Windows -SET PYTHONPATH=. ``` ### 2. Download inference model