Luis J Camargo commited on
Commit
02eacfb
·
1 Parent(s): f1c6c82

other inference

Browse files
Files changed (1) hide show
  1. app.py +27 -31
app.py CHANGED
@@ -1,4 +1,5 @@
1
  import atexit
 
2
  import functools
3
  from queue import Queue
4
  from threading import Event, Thread
@@ -51,15 +52,32 @@ class PaddleOCRModelManager(object):
51
  args, kwargs, result_queue = item
52
  try:
53
  result = model.predict(*args, **kwargs)
54
- # markdown_list = []
55
- # #markdown_images = []
56
- # for res in result:
57
- # md_info = res.markdown
58
- # markdown_list.append(md_info)
59
- # #markdown_images.append(md_info.get("markdown_images", {}))
60
- # markdown_texts = model.concatenate_markdown_pages(markdown_list)
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
- result_queue.put((True, result))
 
 
 
 
 
63
  except Exception as e:
64
  result_queue.put((False, e))
65
  finally:
@@ -115,29 +133,7 @@ def inference(img):
115
  return "Please upload an image."
116
 
117
  try:
118
- result = model_manager.infer(img)
119
-
120
-
121
- # if not result or len(result) == 0:
122
- # return "No text detected in the image."
123
-
124
- # # Serialize to JSON first (this worked before)
125
- import json
126
-
127
- def serialize_for_json(obj):
128
- if isinstance(obj, dict):
129
- return {k: serialize_for_json(v) for k, v in obj.items()}
130
- elif isinstance(obj, list):
131
- return [serialize_for_json(item) for item in obj]
132
- elif hasattr(obj, '__dict__'):
133
- return serialize_for_json(obj.__dict__)
134
- elif isinstance(obj, (str, int, float, bool, type(None))):
135
- return obj
136
- else:
137
- return str(type(obj))
138
-
139
- serialized_result = serialize_for_json(result)
140
- return json.dumps(serialized_result, indent=4)
141
 
142
  # # Now extract text from the serialized structure
143
  # extracted_texts = []
 
1
  import atexit
2
+ import json
3
  import functools
4
  from queue import Queue
5
  from threading import Event, Thread
 
52
  args, kwargs, result_queue = item
53
  try:
54
  result = model.predict(*args, **kwargs)
55
+ markdown_list = []
56
+ #markdown_images = []
57
+ for res in result:
58
+ md_info = res.markdown
59
+ markdown_list.append(md_info)
60
+ #markdown_images.append(md_info.get("markdown_images", {}))
61
+ markdown_texts = model.concatenate_markdown_pages(markdown_list)
62
+
63
+ def serialize_for_json(obj):
64
+ if isinstance(obj, dict):
65
+ return {k: serialize_for_json(v) for k, v in obj.items()}
66
+ elif isinstance(obj, list):
67
+ return [serialize_for_json(item) for item in obj]
68
+ elif hasattr(obj, '__dict__'):
69
+ return serialize_for_json(obj.__dict__)
70
+ elif isinstance(obj, (str, int, float, bool, type(None))):
71
+ return obj
72
+ else:
73
+ return str(type(obj))
74
 
75
+ serialized_result = serialize_for_json(result)
76
+ json_str = json.dumps(serialized_result, indent=4)
77
+
78
+ returns = [markdown_texts, json_str]
79
+
80
+ result_queue.put((True, returns))
81
  except Exception as e:
82
  result_queue.put((False, e))
83
  finally:
 
133
  return "Please upload an image."
134
 
135
  try:
136
+ return model_manager.infer(img)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
 
138
  # # Now extract text from the serialized structure
139
  # extracted_texts = []