Spaces:
Build error
Build error
Download app.py from engrtm/Evaluators: direct link, hf CLI and curl.
- Browser
- Download file 1.35 kB
-
https://huggingface.co/spaces/engrtm/Evaluators/resolve/main/app.py
- Command line
-
hf download hf://spaces/engrtm/Evaluators/app.py
-
curl -L -o app.py https://huggingface.co/spaces/engrtm/Evaluators/resolve/main/app.py
1.35 kB
| import gradio as gr | |
| from PIL import Image | |
| from transformers import TrOCRProcessor, VisionEncoderDecoderModel | |
| import torch | |
| # Load the improved TrOCR model | |
| processor = TrOCRProcessor.from_pretrained("microsoft/trocr-large-handwritten") | |
| model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-large-handwritten") | |
| # Ensure model is on appropriate device | |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
| model.to(device) | |
| # OCR function | |
| def extract_text(image): | |
| if image is None: | |
| return "Please upload an image." | |
| image = image.convert("RGB") | |
| pixel_values = processor(images=image, return_tensors="pt").pixel_values.to(device) | |
| generated_ids = model.generate(pixel_values) | |
| text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0] | |
| return text.strip() | |
| # Build Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("") | |
| gr.Markdown(""" | |
| # Evaluator! Upgrade Your Writing Skill | |
| """) | |
| with gr.Row(): | |
| input_image = gr.Image(type="pil", label="Upload Handwritten Image") | |
| output_text = gr.Textbox(label="Extracted Text", lines=8) | |
| submit_btn = gr.Button("Extract Text") | |
| submit_btn.click(fn=extract_text, inputs=input_image, outputs=output_text) | |
| # Run the app | |
| if __name__ == "__main__": | |
| demo.launch() | |