import os os.system("curl -L -o sneed.ckpt https://seyarabata.com/captcha_sneed") import torch from PIL import Image from strhub.data.module import SceneTextDataModule from strhub.models.utils import load_from_checkpoint, parse_model_args import gradio as gr from strhub.models.crnn.system import CRNN as ModelClass parseq = ModelClass.load_from_checkpoint("sneed.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()