Ransaka commited on
Commit
a5eba81
·
verified ·
1 Parent(s): ba3d672

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -5
app.py CHANGED
@@ -33,14 +33,55 @@ DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'
33
 
34
  # Load tokenizer
35
  @st.cache_resource
36
- def load_tokenizer():
37
- with open("text_process.cls",'rb') as f:
 
 
 
 
38
  tokenizer = pickle.load(f)
39
  return tokenizer
40
 
41
- tokenizer = load_tokenizer()
42
- encode = tokenizer.encode
43
- decode = tokenizer.decode
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  class CRNN(nn.Module):
46
  def __init__(self, num_channels, hidden_size, num_classes):
@@ -133,6 +174,9 @@ fp = Path(".").glob("crnn*.pt")
133
  selected_model_path = st.selectbox(label="Select Model...", options=fp)
134
  model = load_model(selected_model_path)
135
  uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
 
 
 
136
 
137
  if uploaded_file is not None:
138
  image = Image.open(uploaded_file).convert("L")
 
33
 
34
  # Load tokenizer
35
  @st.cache_resource
36
+ def load_tokenizer(selected_model):
37
+ if "large" in selected_model.parts[-1]:
38
+ text_processor_path = "text_process-large.cls"
39
+ else:
40
+ text_processor_path = "text_process.cls"
41
+ with open(text_processor_path,'rb') as f:
42
  tokenizer = pickle.load(f)
43
  return tokenizer
44
 
45
+ # class CRNN(nn.Module):
46
+ # def __init__(self, num_chars):
47
+ # super(CRNN, self).__init__()
48
+
49
+ # self.cnn = nn.Sequential(
50
+ # nn.Conv2d(1, 64, kernel_size=3, stride=1, padding=1),
51
+ # nn.ReLU(),
52
+ # nn.MaxPool2d(kernel_size=2, stride=2),
53
+ # nn.Conv2d(64, 128, kernel_size=3, stride=1, padding=1),
54
+ # nn.ReLU(),
55
+ # nn.MaxPool2d(kernel_size=2, stride=2),
56
+ # nn.Conv2d(128, 256, kernel_size=3, stride=1, padding=1),
57
+ # nn.BatchNorm2d(256),
58
+ # nn.ReLU(),
59
+ # nn.Conv2d(256, 256, kernel_size=3, stride=1, padding=1),
60
+ # nn.ReLU(),
61
+ # nn.MaxPool2d(kernel_size=(2, 1)),
62
+ # nn.Conv2d(256, 512, kernel_size=3, stride=1, padding=1),
63
+ # nn.BatchNorm2d(512),
64
+ # nn.ReLU(),
65
+ # nn.Conv2d(512, 512, kernel_size=3, stride=1, padding=1),
66
+ # nn.ReLU(),
67
+ # nn.MaxPool2d(kernel_size=(2, 1)),
68
+ # nn.Conv2d(512, 512, kernel_size=2, stride=1),
69
+ # nn.BatchNorm2d(512),
70
+ # nn.ReLU()
71
+ # )
72
+
73
+ # # RNN layers
74
+ # self.rnn = nn.GRU(512 * 7, 256, bidirectional=True, batch_first=True, num_layers=2)
75
+ # self.linear = nn.Linear(512, num_chars)
76
+
77
+ # def forward(self, x):
78
+ # conv = self.cnn(x)
79
+ # batch, channel, height, width = conv.size()
80
+ # conv = conv.permute(0, 3, 1, 2)
81
+ # conv = conv.contiguous().view(batch, width, channel * height)
82
+ # output, _ = self.rnn(conv)
83
+ # output = self.linear(output)
84
+ # return output
85
 
86
  class CRNN(nn.Module):
87
  def __init__(self, num_channels, hidden_size, num_classes):
 
174
  selected_model_path = st.selectbox(label="Select Model...", options=fp)
175
  model = load_model(selected_model_path)
176
  uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
177
+ tokenizer = load_tokenizer(selected_model_path)
178
+ encode = tokenizer.encode
179
+ decode = tokenizer.decode
180
 
181
  if uploaded_file is not None:
182
  image = Image.open(uploaded_file).convert("L")