Spaces:
Sleeping
Sleeping
found best model
Browse files- .gitignore +2 -0
- app.py +7 -6
- models/__pycache__/best_norm_ED.cpython-310.pyc +0 -0
- models/__pycache__/best_norm_ED.cpython-311.pyc +0 -0
- models/best_norm_ED.pth +2 -2
- models/best_norm_ED.yaml +15 -16
.gitignore
CHANGED
|
@@ -1 +1,3 @@
|
|
| 1 |
.idea/
|
|
|
|
|
|
|
|
|
| 1 |
.idea/
|
| 2 |
+
# pycache
|
| 3 |
+
__pycache__/
|
app.py
CHANGED
|
@@ -13,6 +13,8 @@ from io import BytesIO
|
|
| 13 |
#import streamlit.components.v1 as components
|
| 14 |
import base64
|
| 15 |
|
|
|
|
|
|
|
| 16 |
#def downloadTxt():
|
| 17 |
def generateTxtLink(result):
|
| 18 |
result_txt = ""
|
|
@@ -64,7 +66,6 @@ def generateButtonGroup(result):
|
|
| 64 |
return txtLink+"\n"+docLink
|
| 65 |
|
| 66 |
def generateButtonGroupForPDF(pages_result):
|
| 67 |
-
#result = "\n\n".join(pages_result)
|
| 68 |
txtLink = generateMultiPageTxtLink(pages_result)
|
| 69 |
docLink = generateMultiPageDocLink(pages_result)
|
| 70 |
return txtLink+"\n"+docLink
|
|
@@ -84,7 +85,7 @@ for d in dirs:
|
|
| 84 |
font_path = models_dir + "/Ubuntu-Regular.ttf"
|
| 85 |
reader = easyocr.Reader(
|
| 86 |
['en'],
|
| 87 |
-
gpu=
|
| 88 |
recog_network='best_norm_ED',
|
| 89 |
detect_network="craft",
|
| 90 |
user_network_directory=models_dir,
|
|
@@ -146,7 +147,7 @@ def process_pdf(uploaded_file):
|
|
| 146 |
result,time_elapsed = recognize_page_image(image)
|
| 147 |
expander = col2.expander(f'{result[0][1][:100]} ... **:orange[{time_elapsed:.3f} секундта таңылды]**')
|
| 148 |
expander.write(f'{result[0][1]}')
|
| 149 |
-
result_text =
|
| 150 |
pages_result.append(result_text)
|
| 151 |
#col2.markdown(result_text)
|
| 152 |
progress_bar.progress((count + 1) / min(total_pages,max_page),text=f'Жүктеліп жатыр {count+1}/{min(total_pages,max_page)}')
|
|
@@ -175,7 +176,7 @@ class TextBox:
|
|
| 175 |
return f"TextBox(text={self.text}, group_id={self.group_id})"
|
| 176 |
|
| 177 |
|
| 178 |
-
def get_paragraph(ocr_results, horizontal_threshold=
|
| 179 |
# Convert raw OCR results into TextBox objects
|
| 180 |
text_boxes = [TextBox(box[1], box[0]) for box in ocr_results]
|
| 181 |
|
|
@@ -262,9 +263,9 @@ if uploaded_file is not None:
|
|
| 262 |
image = Image.open(uploaded_file)
|
| 263 |
#with open(os.path.join("tempDir",image_file))
|
| 264 |
col1.image(image)
|
| 265 |
-
result = reader.readtext(np.array(image), batch_size=64, paragraph=False, y_ths=0, width_ths = 0
|
| 266 |
result = get_paragraph(result)
|
| 267 |
-
result_text =
|
| 268 |
button_group_html = generateButtonGroup(result)
|
| 269 |
col2.write(button_group_html, unsafe_allow_html=True)
|
| 270 |
col2.markdown(result_text)
|
|
|
|
| 13 |
#import streamlit.components.v1 as components
|
| 14 |
import base64
|
| 15 |
|
| 16 |
+
line_separator = "\n\n"
|
| 17 |
+
|
| 18 |
#def downloadTxt():
|
| 19 |
def generateTxtLink(result):
|
| 20 |
result_txt = ""
|
|
|
|
| 66 |
return txtLink+"\n"+docLink
|
| 67 |
|
| 68 |
def generateButtonGroupForPDF(pages_result):
|
|
|
|
| 69 |
txtLink = generateMultiPageTxtLink(pages_result)
|
| 70 |
docLink = generateMultiPageDocLink(pages_result)
|
| 71 |
return txtLink+"\n"+docLink
|
|
|
|
| 85 |
font_path = models_dir + "/Ubuntu-Regular.ttf"
|
| 86 |
reader = easyocr.Reader(
|
| 87 |
['en'],
|
| 88 |
+
gpu=False,
|
| 89 |
recog_network='best_norm_ED',
|
| 90 |
detect_network="craft",
|
| 91 |
user_network_directory=models_dir,
|
|
|
|
| 147 |
result,time_elapsed = recognize_page_image(image)
|
| 148 |
expander = col2.expander(f'{result[0][1][:100]} ... **:orange[{time_elapsed:.3f} секундта таңылды]**')
|
| 149 |
expander.write(f'{result[0][1]}')
|
| 150 |
+
result_text = line_separator.join([item[1] for item in result])
|
| 151 |
pages_result.append(result_text)
|
| 152 |
#col2.markdown(result_text)
|
| 153 |
progress_bar.progress((count + 1) / min(total_pages,max_page),text=f'Жүктеліп жатыр {count+1}/{min(total_pages,max_page)}')
|
|
|
|
| 176 |
return f"TextBox(text={self.text}, group_id={self.group_id})"
|
| 177 |
|
| 178 |
|
| 179 |
+
def get_paragraph(ocr_results, horizontal_threshold=1, vertical_threshold=0.0, reading_mode='ltr'):
|
| 180 |
# Convert raw OCR results into TextBox objects
|
| 181 |
text_boxes = [TextBox(box[1], box[0]) for box in ocr_results]
|
| 182 |
|
|
|
|
| 263 |
image = Image.open(uploaded_file)
|
| 264 |
#with open(os.path.join("tempDir",image_file))
|
| 265 |
col1.image(image)
|
| 266 |
+
result = reader.readtext(np.array(image), batch_size=64, paragraph=False, y_ths=0, width_ths = 0)
|
| 267 |
result = get_paragraph(result)
|
| 268 |
+
result_text = line_separator.join([item[1] for item in result])
|
| 269 |
button_group_html = generateButtonGroup(result)
|
| 270 |
col2.write(button_group_html, unsafe_allow_html=True)
|
| 271 |
col2.markdown(result_text)
|
models/__pycache__/best_norm_ED.cpython-310.pyc
DELETED
|
Binary file (18.6 kB)
|
|
|
models/__pycache__/best_norm_ED.cpython-311.pyc
DELETED
|
Binary file (40.8 kB)
|
|
|
models/best_norm_ED.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a93677c37a1bc9a268eb362df2772fbc9a5237b375740254e63063be2cebf6a4
|
| 3 |
+
size 15217067
|
models/best_norm_ED.yaml
CHANGED
|
@@ -1,30 +1,29 @@
|
|
| 1 |
-
number: 0123456789
|
| 2 |
-
symbol:
|
| 3 |
lang_char: 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁабвгдежзийклмнопрстуфхцчшщъыьэюяёӘҒҚҢӨҰҮІҺәғқңөұүіһABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
|
| 4 |
-
experiment_name: '
|
| 5 |
-
train_data: '../../synthtiger_kz/results/
|
| 6 |
-
valid_data: '../../synthtiger_kz/results/
|
| 7 |
-
wb: True
|
| 8 |
manualSeed: 1111
|
| 9 |
workers: 6
|
| 10 |
-
batch_size:
|
| 11 |
-
num_iter:
|
| 12 |
-
valInterval:
|
| 13 |
-
saved_model: 'saved_models/
|
| 14 |
FT: False
|
| 15 |
optim: False # default is Adadelta
|
| 16 |
-
lr:
|
| 17 |
beta1: 0.9
|
| 18 |
rho: 0.95
|
| 19 |
eps: 0.00000001
|
| 20 |
grad_clip: 5
|
| 21 |
#Data processing
|
| 22 |
-
select_data: '
|
| 23 |
batch_ratio: '1'
|
| 24 |
total_data_usage_ratio: 1.0
|
| 25 |
-
batch_max_length:
|
| 26 |
-
imgH:
|
| 27 |
-
imgW:
|
| 28 |
rgb: False
|
| 29 |
sensitive: True
|
| 30 |
PAD: True
|
|
@@ -50,4 +49,4 @@ network_params:
|
|
| 50 |
hidden_size: 256
|
| 51 |
lang_list:
|
| 52 |
- 'en'
|
| 53 |
-
character_list: 0123456789
|
|
|
|
| 1 |
+
number: '0123456789'
|
| 2 |
+
symbol: "!?.,:;'#()<>+-/*=%$»« "
|
| 3 |
lang_char: 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁабвгдежзийклмнопрстуфхцчшщъыьэюяёӘҒҚҢӨҰҮІҺәғқңөұүіһABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
|
| 4 |
+
experiment_name: 'kz_synthtiger_v8'
|
| 5 |
+
train_data: '../../synthtiger_kz/results/train_v8'
|
| 6 |
+
valid_data: '../../synthtiger_kz/results/test_v8'
|
|
|
|
| 7 |
manualSeed: 1111
|
| 8 |
workers: 6
|
| 9 |
+
batch_size: 96 #32
|
| 10 |
+
num_iter: 100000
|
| 11 |
+
valInterval: 1000
|
| 12 |
+
saved_model: 'saved_models/kz_synthtiger_v7_comma/best_norm_ED.pth'
|
| 13 |
FT: False
|
| 14 |
optim: False # default is Adadelta
|
| 15 |
+
lr: 1.
|
| 16 |
beta1: 0.9
|
| 17 |
rho: 0.95
|
| 18 |
eps: 0.00000001
|
| 19 |
grad_clip: 5
|
| 20 |
#Data processing
|
| 21 |
+
select_data: 'images' # this is dataset folder in train_data
|
| 22 |
batch_ratio: '1'
|
| 23 |
total_data_usage_ratio: 1.0
|
| 24 |
+
batch_max_length: 34
|
| 25 |
+
imgH: 64
|
| 26 |
+
imgW: 600
|
| 27 |
rgb: False
|
| 28 |
sensitive: True
|
| 29 |
PAD: True
|
|
|
|
| 49 |
hidden_size: 256
|
| 50 |
lang_list:
|
| 51 |
- 'en'
|
| 52 |
+
character_list: 0123456789!?.,:;'#()<>+-/*=%$»« АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁабвгдежзийклмнопрстуфхцчшщъыьэюяёӘҒҚҢӨҰҮІҺәғқңөұүіһABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|