ut / app.py
fSaeidf's picture
Create app.py
4dd3b7a verified
Raw
History Blame Contribute Delete
1.54 kB
import gradio as gr
from transformers import pipeline
# مدل تشخیص بیماری پوستی از Hugging Face
clf = pipeline(
task="image-classification",
model="Anwarkh1/Skin_Cancer-Image_Classification"
)
# ترجمه لیبل‌ها
FA_LABELS = {
"actinic_keratoses": "کراتوز آکتینیک (ضایعه پیش‌سرطانی)",
"basal_cell_carcinoma": "سرطان سلول بازال",
"benign_keratosis-like_lesions": "کراتوز خوش‌خیم",
"dermatofibroma": "درماتوفیبروما (توده پوستی خوش‌خیم)",
"melanoma": "ملانوما (سرطان پوست)",
"nv": "خال معمولی",
"vascular_lesions": "ضایعات عروقی",
}
def normalize(label: str):
return (
label.strip().lower()
.replace(" ", "_")
)
def translate_label(label: str):
key = normalize(label)
return FA_LABELS.get(key, label)
def predict(image):
preds = clf(image)
out = {}
for p in preds:
fa_label = translate_label(p["label"])
out[fa_label] = float(p["score"])
return out
demo = gr.Interface(
fn=predict,
inputs=gr.Image(type="pil", label="تصویر پوست را آپلود کنید"),
outputs=gr.Label(num_top_classes=3, label="نتیجه مدل"),
title="تشخیص ضایعات پوستی (نسخه آموزشی)",
description="این ابزار فقط برای آموزش ساخته شده و تشخیص پزشکی قطعی نیست."
)
if __name__ == "__main__":
demo.launch()