johnlockejrr commited on
Commit
0552a9b
·
verified ·
1 Parent(s): 0ae43ca

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -22
app.py CHANGED
@@ -34,40 +34,30 @@ IMAGE_ID_PATTERN = r"(?P<image_id>[-a-z0-9]{36})"
34
  CONFIDENCE_PATTERN = r"(?P<confidence>[0-9.]+)" # For line
35
  TEXT_PATTERN = r"\s*(?P<text>.*)\s*"
36
  LINE_PREDICTION = re.compile(rf"{IMAGE_ID_PATTERN} {CONFIDENCE_PATTERN} {TEXT_PATTERN}")
37
- models_name = ["johnlockejrr/pylaia-heb_sam_v1"]
38
- MODELS = {}
39
 
40
  def get_width(image, height=DEFAULT_HEIGHT):
41
  aspect_ratio = image.width / image.height
42
  return height * aspect_ratio
43
 
44
- def load_model(model_name):
45
- if model_name not in MODELS:
46
- MODELS[model_name] = Path(snapshot_download(model_name))
47
- return MODELS[model_name]
48
-
49
  def predict(model_name, input_img):
50
- model_dir = load_model(model_name)
51
-
52
  temperature = 2.0
53
  batch_size = 1
54
 
55
- weights_path = model_dir / "weights.ckpt"
56
- syms_path = model_dir / "syms.txt"
57
  language_model_params = {"language_model_weight": 1.0}
58
- use_language_model = (model_dir / "tokens.txt").exists()
59
  if use_language_model:
60
- language_model_params.update(
61
- {
62
- "language_model_path": str(model_dir / "language_model.binary"),
63
- "lexicon_path": str(model_dir / "lexicon.txt"),
64
- "tokens_path": str(model_dir / "tokens.txt"),
65
- }
66
- )
67
 
68
  common_args = CommonArgs(
69
- checkpoint=str(weights_path.relative_to(model_dir)),
70
- train_path=str(model_dir),
71
  experiment_dirname="",
72
  )
73
 
@@ -128,7 +118,7 @@ def process_image(image):
128
  crop_pil = Image.fromarray(cv2.cvtColor(crop_img, cv2.COLOR_BGR2RGB))
129
 
130
  # Recognize text using PyLaia model
131
- predicted = predict(models_name, crop_pil)
132
  texts.append(predicted[1]["text"])
133
 
134
  bboxes.append((x1, y1, x2, y2))
 
34
  CONFIDENCE_PATTERN = r"(?P<confidence>[0-9.]+)" # For line
35
  TEXT_PATTERN = r"\s*(?P<text>.*)\s*"
36
  LINE_PREDICTION = re.compile(rf"{IMAGE_ID_PATTERN} {CONFIDENCE_PATTERN} {TEXT_PATTERN}")
 
 
37
 
38
  def get_width(image, height=DEFAULT_HEIGHT):
39
  aspect_ratio = image.width / image.height
40
  return height * aspect_ratio
41
 
 
 
 
 
 
42
  def predict(model_name, input_img):
43
+ model_dir = 'pylaia-mcdonald_v2'
 
44
  temperature = 2.0
45
  batch_size = 1
46
 
47
+ weights_path = f"{model_dir}/weights.ckpt"
48
+ syms_path = f"{model_dir}/syms.txt"
49
  language_model_params = {"language_model_weight": 1.0}
50
+ use_language_model = True
51
  if use_language_model:
52
+ language_model_params.update({
53
+ "language_model_path": f"{model_dir}/language_model.binary",
54
+ "lexicon_path": f"{model_dir}/lexicon.txt",
55
+ "tokens_path": f"{model_dir}/tokens.txt",
56
+ })
 
 
57
 
58
  common_args = CommonArgs(
59
+ checkpoint="weights.ckpt",
60
+ train_path=f"{model_dir}",
61
  experiment_dirname="",
62
  )
63
 
 
118
  crop_pil = Image.fromarray(cv2.cvtColor(crop_img, cv2.COLOR_BGR2RGB))
119
 
120
  # Recognize text using PyLaia model
121
+ predicted = predict('johnlockejrr/pylaia-samaritan_v1', crop_pil)
122
  texts.append(predicted[1]["text"])
123
 
124
  bboxes.append((x1, y1, x2, y2))