farkhanAdhitama's picture
Upload 2 files
429cc90 verified
import gradio as gr
import tensorflow as tf
import numpy as np
from PIL import Image
# Load model berformat .keras
model = tf.keras.models.load_model("skin_type_model.keras")
# Daftar kelas
class_names = ["Berminyak", "Normal", "Kering"]
# Fungsi untuk preprocessing gambar
def preprocess_image(img):
img = img.resize((224, 224)) # Sesuaikan ukuran sesuai kebutuhan model
img = np.array(img) / 255.0 # Normalisasi piksel
img = np.expand_dims(img, axis=0) # Tambahkan batch dimension
return img
# Fungsi untuk klasifikasi
def classify_img(image):
image = preprocess_image(image)
prediction = model.predict(image)[0]
probabilities = {
class_names[i]: float(prediction[i]) for i in range(len(class_names))
}
return probabilities
# Buat antarmuka Gradio
interface = gr.Interface(
fn=classify_img,
inputs=gr.Image(type="pil"),
outputs=gr.Label(num_top_classes=3),
title="Klasifikasi Jenis Kulit Wajah",
description="Upload gambar wajah untuk mengklasifikasikan jenis kulit menjadi: Berminyak, Normal, atau Kering.",
)
interface.launch()