Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import AutoModelForImageClassification, AutoImageProcessor | |
| from PIL import Image | |
| import torch | |
| import base64 | |
| import requests | |
| # تحميل النموذج والمعالج من Hugging Face | |
| repo_name = "Jayanth2002/dinov2-base-finetuned-SkinDisease" | |
| image_processor = AutoImageProcessor.from_pretrained(repo_name) | |
| model = AutoModelForImageClassification.from_pretrained(repo_name) | |
| # أسماء الأمراض | |
| class_names = ['Basal Cell Carcinoma', 'Darier_s Disease', 'Epidermolysis Bullosa Pruriginosa', 'Hailey-Hailey Disease', 'Herpes Simplex', 'Impetigo', 'Larva Migrans', 'Leprosy Borderline', 'Leprosy Lepromatous', 'Leprosy Tuberculoid', 'Lichen Planus', 'Lupus Erythematosus Chronicus Discoides', 'Melanoma', 'Molluscum Contagiosum', 'Mycosis Fungoides', 'Neurofibromatosis', 'Papilomatosis Confluentes And Reticulate', 'Pediculosis Capitis', 'Pityriasis Rosea', 'Porokeratosis Actinic', 'Psoriasis', 'Tinea Corporis', 'Tinea Nigra', 'Tungiasis', 'actinic keratosis', 'dermatofibroma', 'nevus', 'pigmented benign keratosis', 'seborrheic keratosis', 'squamous cell carcinoma', 'vascular lesion'] | |
| # دالة التنبؤ | |
| def predict(image): | |
| encoding = image_processor(image.convert("RGB"), return_tensors="pt") | |
| with torch.no_grad(): | |
| outputs = model(**encoding) | |
| predicted_class_idx = outputs.logits.argmax(-1).item() | |
| return class_names[predicted_class_idx] | |
| # واجهة Gradio | |
| gr.Interface( | |
| fn=predict, | |
| inputs=gr.Image(type="pil", label="Upload Skin Image"), | |
| outputs=gr.Textbox(label="Predicted Disease"), | |
| title="تشخيص الأمراض الجلدية باستخدام الذكاء الاصطناعي", | |
| description="ارفع صورة لوجه المريض وسيتعرف النموذج على المرض الجلدي المحتمل." | |
| ).launch() | |