Spaces:
Running
Running
| import gradio as gr | |
| from transformers import VisionEncoderDecoderModel, TrOCRProcessor | |
| import torch | |
| from PIL import Image | |
| def recognize_captcha(input, mdl): | |
| # Load model and processor | |
| processor = TrOCRProcessor.from_pretrained(mdl) | |
| model = VisionEncoderDecoderModel.from_pretrained(mdl) | |
| # Prepare image | |
| pixel_values = processor(input, return_tensors="pt").pixel_values | |
| # Generate text | |
| generated_ids = model.generate(pixel_values) | |
| generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0] | |
| return generated_text | |
| iface = gr.Interface( | |
| fn=recognize_captcha, | |
| inputs=[ | |
| gr.Image(), | |
| gr.Dropdown( | |
| ['anuashok/ocr-captcha-v3','anuashok/ocr-captcha-v2','anuashok/ocr-captcha-v1','microsoft/trocr-base-printed'], label='Model to use' | |
| ) | |
| ], | |
| outputs=['text'], | |
| title = "Character Sequence Recognition From Captcha Image", | |
| description = "Using some TrOCR models found on the HF Hub to test/break tough text captchas. Will you have to train your own?", | |
| examples = [ | |
| ['krcx5.jpg','anuashok/ocr-captcha-v3'], | |
| ['hyp2a.jpg','microsoft/trocr-base-printed'], | |
| ['k4kyf.jpg','anuashok/ocr-captcha-v2'] | |
| ], | |
| article="Created by JSGR with ❤️ !!!" | |
| ) | |
| iface.queue(max_size=10) | |
| iface.launch() | |