|
import gradio as gr |
|
from huggingface_hub import from_pretrained_fastai |
|
from fastai.vision.all import * |
|
repo_id = "hugginglearners/flowers_101_convnext_model" |
|
|
|
learn = from_pretrained_fastai(repo_id) |
|
labels = learn.dls.vocab |
|
EXAMPLES_PATH = Path('./examples') |
|
|
|
|
|
def predict(img): |
|
img = PILImage.create(img) |
|
_pred, _pred_w_idx, probs = learn.predict(img) |
|
|
|
labels_probs = {labels[i]: float(probs[i]) for i, _ in enumerate(labels)} |
|
return labels_probs |
|
|
|
interface_options = { |
|
"title": "Identify which flower it is?", |
|
"description": "I am terribly bad at remembering names of flowers and trees and it's often difficult to fathom how diverse our natural world is. There are over 5,000 species of mammals, 10,000 species of birds, 30,000 species of fish β and astonishingly, over 400,000 different types of flowers.\n Identify which flower variety it is by uploading your images.", |
|
"interpretation": "default", |
|
"layout": "horizontal", |
|
"allow_flagging": "never", |
|
"examples": [f'{EXAMPLES_PATH}/{f.name}' for f in EXAMPLES_PATH.iterdir()], |
|
} |
|
|
|
demo = gr.Interface( |
|
fn=predict, |
|
inputs=gr.inputs.Image(shape=(192, 192)), |
|
outputs=gr.outputs.Label(num_top_classes=3), |
|
**interface_options, |
|
) |
|
|
|
launch_options = { |
|
"enable_queue": True, |
|
"share": True, |
|
} |
|
|
|
demo.launch(**launch_options) |