from fastai.vision.all import * import gradio as gr import skimage import pathlib import os plt = platform.system() if plt == 'Linux': pathlib.WindowsPath = pathlib.PosixPath learn = load_learner('model.pkl') examples = [str(x) for x in get_image_files('images')] labels = learn.dls.vocab def predict(img): img = PILImage.create(img) pred,pred_idx,probs = learn.predict(img) val, idx = probs.topk(3) pred_labels = labels[idx] return {labels[i]: float(probs[i]) for i in range(len(labels))} title = "Northern EU Mushroom Classifier" description = "
A North EU mushroom image classifier trained on a kaggle dataset with fastai. " \ +"The dataset consist of 9 different folders that contains from 300 to 1500 selected images of mushrooms genuses. " \ +"Possible genuses are: Agaricus, Amanita, Boletus, Cortinarius, Entoloma, Hygrocybe, Lactarius, Russula and Suillus.
" article="Data Source" interpretation='default' enable_queue=True inputs = gr.Image(shape=(224, 224)) gr.Interface(fn=predict, inputs=inputs, outputs=gr.Label(num_top_classes=3), title=title, description=description, article=article, interpretation=interpretation, examples=examples).launch(inline=False, enable_queue=enable_queue)