ChestX-ray / app.py
SalmanAboAraj's picture
Update app.py
1442a7c verified
import platform
import pathlib
# معالجة مشكلة المسارات على الأنظمة المختلفة
plt = platform.system()
pathlib.WindowsPath = pathlib.PosixPath
import requests
from fastai.vision.all import *
import PIL.Image
PIL.Image.MAX_IMAGE_PIXELS = None
from PIL import Image
import gradio as gr
# تحميل النموذج المدرب
learn = load_learner('ChestXRayfine.pkl')
# قائمة التصنيفات
categories = ('COVID19', 'Normal', 'Pneumonia', 'Turberculosis')
# دالة التصنيف
def classify_image(img):
pred, indx, probs = learn.predict(img)
return dict(zip(categories, map(float, probs)))
# إعداد واجهة Gradio بالإصدار الأحدث
with gr.Blocks() as interface:
gr.Markdown("# Chest X-Ray Classification")
gr.Markdown("Upload a chest X-ray image to classify it into one of the following categories: **COVID-19**, **Normal**, **Pneumonia**, or **Tuberculosis**.")
# إدخال الصورة
with gr.Row():
image_input = gr.Image(type="pil", label="Upload Chest X-ray Image")
# إخراج النتائج
with gr.Row():
label_output = gr.Label(label="Classification Results")
# أمثلة جاهزة
example_images = gr.Examples(
examples=['1.jpeg', '10.png', '11.png', '12.jpeg', '13.jpeg', '14.jpeg', '15.jpeg', '16.jpeg', '17.jpeg',
'18.jpeg', '19.jpeg', '2.jpeg', '20.jpeg', '21.jpg', '22.jpg', '23.jpg', '3.jpeg', '4.jpeg', '5.jpeg',
'6.png', '7.png', '8.png', '9.png'],
inputs=image_input,
)
# زر التنفيذ
predict_button = gr.Button("Classify")
# الربط بين المدخلات والمخرجات
predict_button.click(classify_image, inputs=[image_input], outputs=[label_output])
# تشغيل التطبيق
if __name__ == "__main__":
interface.launch(share=True)