from fastai.vision import * | |
from fastai.learner import load_learner | |
from PIL import Image | |
import gradio as gr | |
image = Image.open("examples/riku.jpg") | |
image.thumbnail((512,512)) | |
image | |
learn = load_learner("model.pkl") | |
categories = list(learn.dls.vocab) | |
result,_,probs = learn.predict(image) | |
print(f"This is a: {result}") | |
print(f"Probability it's a {result}: {probs[categories.index(result)] * 100:.02f}%") | |
def classify_image(img): | |
pred, ix, probs = learn.predict(img) | |
return dict(zip(categories, map(float, probs))) | |
print(classify_image(image)) | |
# Whats the gradio input type? Image | |
image = gr.inputs.Image(shape=(192,192)) | |
# Whats the gradio output type? Label | |
label = gr.outputs.Label() | |
# Set up some examples | |
examples = ["examples/kairi.jpg", "examples/riku.jpg", "examples/sora.jpg"] | |
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples) | |
intf.launch(inline=False) | |