from fastai.vision.all import * import gradio as gr import os def get_label_from_file_path(path): return os.path.basename(os.path.dirname(path)) def predict(img): img = PILImage.create(img) pred, pred_idx, probs = learn_inf.predict(img) return {labels[i]: float(probs[i]) for i in range(len(labels))} script_dir = os.path.dirname(os.path.realpath(__file__)) learn_inf = load_learner(script_dir + '/model/cat_dog_classifier.pkl') labels = learn_inf.dls.vocab gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(224, 224)), outputs=gr.outputs.Label(num_top_classes=3)).launch(share=False)