KhanyiTapiwa00's picture
Duplicate from dawahealth/medsiglip-diagnosis
79740b6
Raw
History Blame Contribute Delete
1.02 kB
import gradio as gr
from transformers import CLIPProcessor, CLIPModel
from PIL import Image
import torch
MODEL_ID = "KhanyiTapiwa00/medsiglip-diagnosis"
processor = CLIPProcessor.from_pretrained(MODEL_ID)
model = CLIPModel.from_pretrained(MODEL_ID)
model.eval()
def predict(image: Image.Image, text: str):
if image is None or text.strip() == "":
return "Please provide both an image and a text description."
inputs = processor(images=image, text=text, return_tensors="pt", padding=True)
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits_per_image
probs = torch.softmax(logits, dim=1)
return str(probs.cpu().numpy())
demo = gr.Interface(
fn=predict,
inputs=[gr.Image(type="pil", label="Upload Medical Image"),
gr.Textbox(label="Enter Description")],
outputs=gr.Textbox(label="Similarity Score"),
title="MedSigLIP AI Demo",
description="Upload a medical image and compare it with a text description."
)
demo.launch()