BMukhtar commited on
Commit
e5df2fe
·
1 Parent(s): e3a55fa

found best model

Browse files
.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=True,
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 = "\n\n".join([item[1] for item in result])
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=0.5, vertical_threshold=0.0, reading_mode='ltr'):
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, text_threshold=0.3)
266
  result = get_paragraph(result)
267
- result_text = "\n\n".join([item[1] for item in result])
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:87583f4f46b6a5af3782992a4343c950e94967f0c2b0abe62c8f06ff1fefecd9
3
- size 15237611
 
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: 'gen_v11_continue'
5
- train_data: '../../synthtiger_kz/results/train_v12'
6
- valid_data: '../../synthtiger_kz/results/test_v12/dtgr_v5'
7
- wb: True
8
  manualSeed: 1111
9
  workers: 6
10
- batch_size: 128 #32
11
- num_iter: 200000
12
- valInterval: 4000
13
- saved_model: 'saved_models/gen_v11/best_norm_ED.pth'
14
  FT: False
15
  optim: False # default is Adadelta
16
- lr: 0.5
17
  beta1: 0.9
18
  rho: 0.95
19
  eps: 0.00000001
20
  grad_clip: 5
21
  #Data processing
22
- select_data: 'dtgr_v5' # this is dataset folder in train_data
23
  batch_ratio: '1'
24
  total_data_usage_ratio: 1.0
25
- batch_max_length: 40
26
- imgH: 48
27
- imgW: 450
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$"!#%&'()*+,-./:;<=>?@[\]^_`{|}~«»…£€¥№° —АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁабвгдежзийклмнопрстуфхцчшщъыьэюяёӘҒҚҢӨҰҮІҺәғқңөұүіһABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 
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