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 def predict(img): img = PILImage.create(img) _pred, _pred_w_idx, probs = learn.predict(img) # gradio doesn't support tensors, so converting to float labels_probs = {labels[i]: float(probs[i]) for i, _ in enumerate(labels)} return labels_probs interface_options = { "title": "Identify which flower it is?", "description": "It’s difficult to fathom just how vast and 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 of flowers.", "interpretation": "default", "layout": "horizontal", "allow_flagging": "never", } 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)