confusingflags / app.py
Ilija Eftimov
Update description
dec6748
from fastai.vision.all import *
import gradio as gr
learn = load_learner("model.pkl")
labels = learn.dls.vocab
def classify_image(img):
pred, idx, probs = learn.predict(img)
return {labels[i]: float(probs[i]) for i in range(len(labels))}
image = gr.inputs.Image(shape=(192,192))
label = gr.outputs.Label()
examples = ['flag_australia.jpg', 'flag_chad.jpg', 'flag_ecuador.jpg', 'flag_monaco.jpg']
title = "Confusing flags"
description = "A pet breed classifier trained on the Oxford Pets dataset with fastai. Created as a demo for Gradio and HuggingFace Spaces."
description = """
There are too many countries in the world, and even though it'd be interesting to cover all of them, there are a few sets of flags \[0] that look _very_ similar. Namely:
* Chad and Romania
* Senegal and Mali
* Indoneasia and Monaco
* New Zealand and Australia
* Ireland and Côte d’Ivoire
* Norway and Iceland
* Venezuela, Ecuador, and Colombia
* Luxembourg and the Netherlands
* Slovenia, Russia, and Slovakia
This is where this space helps.
\[0]: https://www.britannica.com/list/flags-that-look-alike
"""
iface = gr.Interface(fn=classify_image, inputs=image, outputs=gr.outputs.Label(num_top_classes=3), examples=examples, title=title, description=description)
iface.launch(inline=False)