DHEIVER's picture
Update app.py
bc8fbc4
raw
history blame
1.46 kB
import gradio as gr
import tensorflow as tf
import numpy as np
# Load the model
model = tf.keras.models.load_model('stomach.h5')
# Define the class names
class_names = {
0: 'Esophagitis',
1: 'Dyed lifted polyps'
}
def classify_image(image):
# Preprocess the image
img_array = tf.image.resize(image, [256, 256])
img_array = tf.expand_dims(img_array, 0) / 255.0
# Make a prediction
prediction = model.predict(img_array)
predicted_class = tf.argmax(prediction[0], axis=-1)
confidence = np.max(prediction[0])
if confidence < 0.6:
report = {
'result': "Unable to detect",
'confidence': confidence,
'details': "The model was unable to confidently classify the image."
}
else:
class_name = class_names[predicted_class.numpy()]
report = {
'result': class_name,
'confidence': confidence,
'details': f"The image is classified as {class_name} with a confidence of {confidence:.2f}."
}
return report
iface = gr.Interface(
fn=classify_image,
inputs=components.Image(shape=(256, 256)),
outputs=[
components.Textbox(label="Result"),
components.Number(label="Confidence"),
components.Textbox(label="Details")
],
examples=[
['examples/0.jpg'],
['examples/1.jpg'],
['examples/2.jpg'],
['examples/3.jpg']
]
)
iface.launch()