File size: 1,842 Bytes
6494d6a e1f4a9d db8ace5 27d71d3 d340b24 6494d6a d340b24 27d71d3 d340b24 e1f4a9d 6494d6a db8ace5 27d71d3 e1f4a9d 6494d6a e1f4a9d 82bc6fd f9f3381 82bc6fd f9f3381 82bc6fd 27d71d3 82bc6fd e1f4a9d 82bc6fd e1f4a9d 27d71d3 e1f4a9d 82bc6fd 6494d6a 82bc6fd e1f4a9d 82bc6fd e1f4a9d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# AUTOGENERATED! DO NOT EDIT! File to edit: ../app.ipynb.
# %% auto 0
__all__ = ['modelname', 'pokemon_types', 'pokemon_types_en', 'examplespath', 'learn_inf', 'lang', 'prob_threshold',
'classify_image']
# %% ../app.ipynb 3
import pandas as pd
modelname = f'model_gen0.pkl'
pokemon_types = pd.read_csv(f'pokemon.csv')
pokemon_types_en = pokemon_types['en']
examplespath = 'images/'
# %% ../app.ipynb 7
from huggingface_hub import hf_hub_download
from fastai.learner import load_learner
learn_inf = load_learner(hf_hub_download("Okkoman/PokeFace", modelname))
# %% ../app.ipynb 9
import gradio as gr
lang = 'en'
prob_threshold = 0.75
from flask import request
if request:
lang = request.headers.get("Accept-Language")
if lang == 'fr':
title = "# PokeFace - Quel est ce pokemon ?"
description = "## Un classifieur pour les pokemons de 1ere et 2eme générations (001-251)"
unknown = 'inconnu'
else:
title = "# PokeFace - What is this pokemon ?"
description = "## An classifier for 1st-2nd generation pokemons (001-251)"
unknown = 'unknown'
def classify_image(img):
pred,pred_idx,probs = learn_inf.predict(img)
index = pokemon_types_en[pokemon_types_en == pred].index[0]
label = pokemon_types[lang].iloc[index]
if probs[pred_idx] > prob_threshold:
return f"{index+1} - {label} ({probs[pred_idx]*100:.0f}%)"
else:
return unknown
with gr.Blocks() as demo:
with gr.Row():
gr.Markdown(title)
with gr.Row():
gr.Markdown(description)
with gr.Row():
interf = gr.Interface(
fn=classify_image,
inputs=gr.inputs.Image(shape=(192,192)),
outputs=gr.outputs.Label(),
examples=examplespath,
allow_flagging='auto')
demo.launch(inline=False)
|