Spaces:
Sleeping
Sleeping
import torch | |
import torch.nn.functional as F | |
import torchvision.transforms as transforms | |
from PIL import Image | |
from huggingface_hub import hf_hub_download | |
import gradio as gr | |
# Download model from Hugging Face Hub | |
model_path = hf_hub_download(repo_id="Ayamohamed/DiaClassification", filename="model.pth") | |
# Load model | |
model = torch.load(model_path,weights_only=False) | |
model.eval() | |
transform = transforms.Compose([ | |
transforms.Resize((224, 224)), | |
transforms.ToTensor(), | |
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) | |
]) | |
def predict(image): | |
image = transform(image).unsqueeze(0) | |
with torch.no_grad(): | |
output = model(image) | |
probabilities = F.softmax(output, dim=1) | |
class_idx = torch.argmax(probabilities, dim=1).item() | |
return "Diagram" if class_idx == 0 else "Not Diagram" | |
gr.Interface( | |
fn=predict, | |
inputs=gr.Image(type="pil"), | |
outputs="text", | |
title="Diagram Classifier" | |
).launch(share=True) | |