Spaces:
Runtime error
Runtime error
from PIL import Image | |
import tensorflow as tf | |
import numpy as np | |
import gradio as gr | |
import io | |
import json | |
# Load the model | |
model_path = 'final_teath_classifier.h5' | |
model = tf.keras.models.load_model(model_path) | |
# Define preprocessing function | |
# Define prediction function | |
def predict_image(image): | |
# Save the image to a file-like object | |
image_bytes = io.BytesIO() | |
image.save(image_bytes, format="JPEG") | |
# Load the image from the file-like object | |
image = tf.keras.preprocessing.image.load_img(image_bytes, target_size=(256, 256,3)) | |
image = np.array(image)/255 | |
image = np.expand_dims(image, axis=0) | |
# Make a prediction | |
prediction = model.predict(image) | |
# Get the probability of being 'Clean' or 'Carries' | |
probabilities = tf.nn.softmax(prediction, axis=-1) | |
predicted_class_index = np.argmax(probabilities) | |
if predicted_class_index == 1: | |
predicted_label = "Clean" | |
predicted_probability = probabilities[0][1] * 100 # Convert to percentage | |
elif predicted_class_index == 0: | |
predicted_label = "Carries" | |
predicted_probability = probabilities[0][0] * 100 # Convert to percentage | |
# Return the prediction result as a dictionary | |
return {"Predicted Label": predicted_label} | |
# Create the interface | |
input_interface = gr.Image(type="pil") | |
output_interface = "json" | |
iface = gr.Interface( | |
fn=predict_image, | |
inputs=input_interface, | |
outputs=output_interface) | |
# Launch the interface | |
iface.launch(share=True) |