Spaces:
Runtime error
Runtime error
import gradio as gr | |
import tensorflow as tf | |
import numpy as np | |
from tensorflow.keras.preprocessing.image import img_to_array, load_img | |
# Load the trained model | |
model = tf.keras.models.load_model('hair_model.h5') | |
# Define labels for classification | |
labels = ['curly', 'straight', 'kinky', 'wavy', 'dreadlocks'] | |
# Image preprocessing function | |
def preprocess_image(image, img_height=299, img_width=299): | |
image = image.resize((img_height, img_width)) | |
image = img_to_array(image) / 255.0 # Rescale the image | |
return np.expand_dims(image, axis=0) # Add batch dimension | |
# Prediction function | |
def predict_hair_type(image): | |
image = preprocess_image(image) | |
predictions = model.predict(image) | |
predicted_label = labels[np.argmax(predictions)] | |
confidence = np.max(predictions) | |
return f"{predicted_label} ({confidence:.2%} confidence)" | |
# Gradio interface | |
iface = gr.Interface( | |
fn=predict_hair_type, | |
inputs=gr.Image(type="pil"), | |
outputs="text", | |
title="Hair Type Classifier", | |
description="Upload an image to predict the hair type (curly, straight, kinky, wavy, or dreadlocks)." | |
) | |
# Launch the Gradio app | |
if __name__ == "__main__": | |
iface.launch() | |