minima / app2.py
Sara Tolosa
Cat vs Dog classifier
025e1b4
raw
history blame
1.04 kB
# This script is used to create a Gradio interface in which we have a
# dog vs cat classifier using the fastai library. For more explanation,
# visit the Google Colab notebook associated.
from fastai.vision.all import *
import gradio as gr
# Define label function
def is_cat(x): return x[0].isupper()
# Load our model
learner = load_learner('model.pkl')
# Transform our model to obtain results that Gradio can handle with
categories = ('Dog', 'Cat')
def classify_image(img):
# We are saying that this predictions returns: the prediction, its index and the prediction probability
pred,idx,probs = learn.predict(img)
# Here we return a dictionary with categories as keys and its probabilities as values
return dict(zip(categories, map(float, probs)))
# Create the Gradio interface
image = gr.inputs.Image(shape=(192,192))
label = gr.outputs.Label()
examples = ['dogg.jpg', 'cat.jpg', 'dunno.jpg']
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
intf.launch(inline=False, share=True)