number-guesser / app.py
Ariel Gamino
Initial commit
307a166
import os
from urllib.request import urlretrieve
import tensorflow as tf
import gradio
import gradio as gr
urlretrieve(
"https://gr-models.s3-us-west-2.amazonaws.com/mnist-model.h5", "mnist-model.h5"
)
model = tf.keras.models.load_model("mnist-model.h5")
def recognize_digit(image):
image = image.reshape(1, -1)
prediction = model.predict(image).tolist()[0]
return {str(i): prediction[i] for i in range(10)}
im = gradio.inputs.Image(
shape=(28, 28), image_mode="L", invert_colors=False, source="canvas"
)
iface = gr.Interface(
recognize_digit,
im,
gradio.outputs.Label(num_top_classes=3),
live=True,
interpretation="default",
capture_session=True,
title="Number Guesser",
description="""Draw a number. Give it your best shot.""",
css="""
.gradio-page {
background-image : url('https://raw.githubusercontent.com/arielgamino/githubpages/main/top-ranked-program-icon-small.png');
background-size: contain;
background-repeat: no-repeat;
background-position: top left;
background-size: auto;
border: 10px solid #102038;
}
body {background-color: #102038;}
p.description {
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
font-size: 1.4em;
padding-top: 17px;
color: #bf5700;
}
h1 {
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
color: #bf5700;
}
.gradio-page .title {
font-size: 2.50rem;
line-height: 2.75rem;
}
"""
)
iface.test_launch()
iface.launch()