import gradio as gr from fastai.vision.all import * import skimage learn = load_learner('rn50_256px_20genre_8epoch_err313.pkl') labels = learn.dls.vocab def predict(img): img = PILImage.create(img) pred,pred_idx,probs = learn.predict(img) return {labels[i]: float(probs[i]) for i in range(len(labels))} examples = [f"Image{n:02d}.jpg" for n in range(12)] interpretation='shap' title = "Art Movement Classifier - WikiArt" description = "What Art Movement Matches the Image Best?" theme = 'grass' gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=((512,512))), outputs=gr.outputs.Label(num_top_classes=5), title = title, examples = examples, theme = theme, interpretation = interpretation, description = description).launch(share=True, enable_queue=True)