Anshini's picture
Update app1.py
4ea7f89 verified
raw
history blame contribute delete
952 Bytes
import gradio as gr
import numpy as np
from keras.models import load_model
from PIL import Image
# Load the trained model
model = load_model("mnist_model.h5")
# Prediction function
def predict_digit(image):
image = image.convert('L').resize((28, 28))
img_array = np.array(image).astype("float32") / 255.0
img_array = img_array.reshape(1, 28, 28)
prediction = model.predict(img_array)
predicted_class = np.argmax(prediction)
confidence = float(np.max(prediction))
return f"Prediction: {predicted_class} (Confidence: {confidence:.2f})"
# Gradio Interface (no shape argument)
interface = gr.Interface(
fn=predict_digit,
inputs=gr.Image(type="pil", label="Upload a Digit Image"),
outputs=gr.Textbox(label="Prediction"),
title="Handwritten Digit Recognition",
description="Upload a handwritten digit image (0–9) to classify it using a model trained on the MNIST dataset."
)
interface.launch()