classify_blood / app.py
ninenox's picture
Upload folder using huggingface_hub
5396c98 verified
import gradio as gr
import gradio as gr
import torch
import torchvision.transforms as transforms
from PIL import Image
from torchvision import models
# ข้อความ string ค่าของ classes ที่มี
targets = ['Negative','Positive']
# เตรียม data ก่อนเข้าโมเดล
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
# ฟังก์ชันประมวลผลรูปภาพ
def classify_image(img):
img = Image.fromarray(img.astype('uint8'), 'RGB')
img = transform(img).unsqueeze(0)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
img = img.to(device)
with torch.no_grad():
prediction = torch.nn.functional.softmax(model(img)[0], dim=0)
confidences = {targets[i]: float(prediction[i]) for i in range(2)}
return confidences
# รันโปรแกรมเว็บ gradio
demo = gr.Interface(fn=classify_image,
inputs=gr.Image(width=224, height=224),
outputs=gr.Label(num_top_classes=2),
examples=["examples/negative.jpeg", "examples/positive.jpeg"]) # ภาพตัวอย่างมาจาก folder examples
demo.launch(share=True, debug=True)