Spaces:
Runtime error
Runtime error
import streamlit as st | |
import io | |
from PIL import Image | |
import torch | |
from transformers import AutoTokenizer, AutoModelForCausalLM | |
from easyocr import Reader | |
ocr_reader = Reader(['en']) | |
text_generator = AutoModelForCausalLM.from_pretrained("gpt2") | |
text_tokenizer = AutoTokenizer.from_pretrained("gpt2") | |
def extract_text(image): | |
return ocr_reader.readtext(image) | |
def explain_text(text): | |
input_ids = text_tokenizer.encode(text, return_tensors="pt") | |
explanation_ids = text_generator.generate(input_ids, max_length=100, num_return_sequences=1) | |
explanation = text_tokenizer.decode(explanation_ids[0], skip_special_tokens=True) | |
return explanation | |
st.title("Text Classification Model") | |
uploaded_file = st.file_uploader("Upload an image:") | |
if uploaded_file is not None: | |
image = Image.open(uploaded_file) | |
ocr_results = extract_text(image) | |
extracted_text = " ".join([res[1] for res in ocr_results]) | |
explanation = explain_text(extracted_text) | |
st.markdown("**Extracted text:**") | |
st.markdown(extracted_text) | |
st.markdown("**Explanation:**") | |
st.markdown(explanation) | |
else: | |
st.markdown("Please upload an image to extract text and get an explanation.") | |