File size: 1,053 Bytes
b49ebde
 
 
 
 
 
49c9603
5f3668e
49c9603
 
653f12c
5f3668e
49c9603
60ea169
 
cfb287e
60ea169
653f12c
49c9603
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# import requests
# res = requests.get("https://seyarabata.com/6370e77fec965")
# with open("last.ckpt", 'wb') as f:
#   f.write(res.content)
import os
os.system('curl "https://seyarabata.com/6370e77fec965" -L -O last.ckpt')

import gradio as gr
import torch
from PIL import Image
from strhub.data.module import SceneTextDataModule
# from strhub.models.utils import load_from_checkpoint, parse_model_args

# parseq = torch.load('tensor.pt', map_location=torch.device('cpu')).eval()
from strhub.models.parseq.system import PARSeq as ModelClass
parseq = ModelClass.load_from_checkpoint("last.ckpt").eval()

img_transform = SceneTextDataModule.get_transform(parseq.hparams.img_size)

def captcha_solver(img):
  img = img.convert('RGB')
  img = img_transform(img).unsqueeze(0)

  logits = parseq(img)
  logits.shape
  
  # # Greedy decoding
  pred = logits.softmax(-1)
  label, confidence = parseq.tokenizer.decode(pred)
  return label[0]

demo = gr.Interface(fn=captcha_solver, inputs=gr.inputs.Image(type="pil"), outputs=gr.outputs.Textbox())
demo.launch()