image_translet / main.py
Mazenbs's picture
Create main.py
afc819d verified
import gradio as gr
from transformers import AutoModelForImageClassification, AutoImageProcessor
from PIL import Image
import torch
# تحميل النموذج
model = AutoModelForImageClassification.from_pretrained(
"asyafalni/arabichar-v3",
trust_remote_code=True
)
# استخدام معالج صور جاهز
processor = AutoImageProcessor.from_pretrained(
"google/vit-base-patch16-224-in21k"
)
# دالة لمعالجة الصورة واستخراج النص
def classify_image(image):
try:
# تحويل الصورة إلى RGB
image = image.convert("RGB")
# تجهيز المدخلات
inputs = processor(images=image, return_tensors="pt")
# تمريرها للنموذج
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class = logits.argmax(-1).item()
label = model.config.id2label.get(predicted_class, "Unknown")
return label
except Exception as e:
return f"حدث خطأ: {e}"
# إنشاء واجهة Gradio
iface = gr.Interface(
fn=classify_image,
inputs=gr.Image(type="pil", label="رفع صورة"),
outputs=gr.Textbox(label="النص المستخرج"),
title="تصنيف الصور - Arabic Char",
description="ارفع صورة وسيتم عرض النص المستخرج أسفلها."
)
# تشغيل الواجهة
iface.launch()