Spaces:
Sleeping
Sleeping
Luis J Camargo commited on
Commit ·
02eacfb
1
Parent(s): f1c6c82
other inference
Browse files
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 |
-
|
| 55 |
-
#
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
| 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 = []
|