Spaces:
Sleeping
Sleeping
| import pickle | |
| import numpy as np | |
| from PIL import Image | |
| import gradio as gr | |
| # 1) Load your pretrained model | |
| model = pickle.load(open("mnist_model.pkl", "rb")) | |
| # 2) Define a prediction function | |
| def classify_digit(img): | |
| # convert to grayscale 28×28 | |
| img = img.convert("L").resize((28, 28)) | |
| arr = np.array(img).reshape(1, -1) | |
| pred = model.predict(arr)[0] | |
| return f"Predicted digit: {pred}" | |
| # 3) Wire up Gradio | |
| iface = gr.Interface( | |
| fn=classify_digit, | |
| inputs=gr.Image(type="pil", label="Upload a 28×28 digit"), | |
| outputs=gr.Textbox(label="Prediction"), | |
| title="MNIST Digit Classifier", | |
| description="Upload a handwritten digit and get a prediction!" | |
| ) | |
| if __name__ == "__main__": | |
| iface.launch() | |