Spaces:
Sleeping
Sleeping
File size: 1,191 Bytes
8111363 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import gradio as gr
import numpy as np
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing import image
import tensorflow as tf
# Load the saved model
model = load_model('acres-ppdc-01.keras')
# Define the classes the model was trained on
class_labels = ['Potato___Early_blight', 'Potato___Late_blight', 'Potato___healthy']
def classify_potato_plant(img):
# Preprocess the image for the model
img = img.resize((256, 256)) # Resize to the same size the model was trained on
img = image.img_to_array(img)
img = np.expand_dims(img, axis=0)
img = img / 255.0 # Normalize the image
# Make the prediction
predictions = model.predict(img)
predicted_class = np.argmax(predictions[0])
confidence = predictions[0][predicted_class]
# Get the predicted class and confidence score
return class_labels[predicted_class], confidence
# Create the Gradio interface
interface = gr.Interface(
fn=classify_potato_plant,
inputs=gr.inputs.Image(type="pil"),
outputs=[gr.outputs.Label(num_top_classes=1), gr.outputs.Textbox(label="Confidence Score")]
)
# Launch the app
if __name__ == "__main__":
interface.launch() |