ntah / app.py
rajayana00's picture
Update app.py
1b525e0 verified
Raw
History Blame Contribute Delete
990 Bytes
import gradio as gr
from tensorflow.keras.models import load_model
from tensorflow.keras.applications.densenet import preprocess_input
from PIL import Image
import numpy as np
# Ukuran gambar dan load model
IMG_SIZE = (224, 224)
model = load_model("xray_class.weights.h5")
# Preprocessing
def preprocess_image(image):
image = image.convert("RGB")
image = image.resize(IMG_SIZE)
image = np.array(image)
image = preprocess_input(image)
image = np.expand_dims(image, axis=0)
return image
# Label sesuai model kamu (ganti sesuai penyakit yang kamu latih)
label_names = ["Infiltration", "Effusion", "Atelectasis"]
# Fungsi prediksi
def predict(image):
img = preprocess_image(image)
pred = model.predict(img)[0]
result = {label: float(f"{val:.2f}") for label, val in zip(label_names, pred)}
return result
# Interface
interface = gr.Interface(fn=predict, inputs=gr.Image(type="pil"), outputs="label")
if __name__ == "__main__":
interface.launch()