Spaces:
Running
Running
import gradio as gr | |
import tensorflow as tf | |
import numpy as np | |
from PIL import Image | |
# Load the trained model (ensure the model file is uploaded) | |
model = tf.keras.models.load_model('best_model.h5') | |
# Define the prediction function | |
def classify_image(img): | |
img = img.resize((150, 150)) # Resize to match model input | |
img = np.array(img) / 255.0 # Normalize pixel values | |
img = np.expand_dims(img, axis=0) # Add batch dimension | |
# Make prediction | |
prediction = model.predict(img) | |
class_names = ['Boy', 'Girl'] # Labels for prediction | |
predicted_class = class_names[np.argmax(prediction)] | |
return predicted_class | |
# Create Gradio interface | |
interface = gr.Interface( | |
fn=classify_image, | |
inputs=gr.inputs.Image(type="pil"), | |
outputs=gr.outputs.Label(), | |
title="Boy or Girl Classifier", | |
description="Upload an image, and the model will predict whether it's a boy or a girl." | |
) | |
# Launch the app | |
interface.launch() | |