|
from fastai.vision.all import * |
|
import gradio as gr |
|
import numpy as np |
|
from PIL import Image as PILImage |
|
|
|
learn = load_learner('model.pkl') |
|
categories = ['calling', 'clapping', 'cycling', 'dancing', 'drinking', 'eating', 'fighting', 'hugging', 'laughing', 'listening_to_music', 'running', 'sitting', 'sleeping', 'texting', 'using_laptop'] |
|
|
|
def classify_image(img): |
|
|
|
if img.mode == 'RGBA': |
|
img = img.convert('RGB') |
|
|
|
|
|
img = img.resize((192, 192)) |
|
|
|
|
|
fastai_img = PILImage.create(np.array(img)) |
|
|
|
|
|
pred, idx, probs = learn.predict(fastai_img) |
|
return dict(zip(categories, map(float, probs))) |
|
|
|
image = gr.Image(type='pil') |
|
label = gr.Label() |
|
examples = ['laughing.jpg', 'dancing.jpg', 'drinking.jpg'] |
|
|
|
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples) |
|
intf.launch(inline=False) |