Spaces:
Runtime error
Runtime error
import gradio as gr | |
import numpy as np | |
import tensorflow as tf | |
from tensorflow.keras.models import load_model | |
# Load your trained pain classification model | |
model = load_model("pain_analysis.h5") # Adjust the path as necessary | |
def predict(image): | |
# Resize the image to the expected input size of (148, 148) | |
target_size = (148, 148) | |
image = tf.image.resize(image, target_size) | |
# Normalize the image to [0, 1] | |
image = np.array(image) / 255.0 | |
image = np.expand_dims(image, axis=0) # Add batch dimension | |
# Perform prediction | |
result = model.predict(image) | |
predicted_class = np.argmax(result, axis=1) # Get the predicted class | |
# Map the predicted class index to pain levels | |
pain_levels = { | |
0: "No Pain", | |
1: "Low Pain", | |
2: "Medium Pain", | |
3: "High Pain", | |
} | |
return pain_levels[predicted_class[0]] # Return the corresponding pain level | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=predict, | |
inputs=gr.Image(type="numpy"), # Expecting image input as numpy array | |
outputs="text", # Return the predicted pain level as text | |
title="Pain Level Classification Model", | |
description="Upload an image to classify the pain level using the trained model." | |
) | |
# Launch the app | |
iface.launch() | |