import gradio as gr from fastai.vision.all import * import skimage learn = load_learner("model.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))} title = "Redacted Document Classifier" description = "A classifier trained on publicly released redacted (and unredacted) FOIA documents, using [fastai](https://github.com/fastai/fastai)." with open("article.md") as f: article = f.read() examples = [ "test1.jpg", "test2.jpg", "test3.jpg", "test4.jpg", "test5.jpg", ] interpretation = "default" enable_queue = True theme = "default" allow_flagging = "never" demo = gr.Interface( fn=predict, inputs=gr.inputs.Image(shape=(1024, 1024)), outputs=gr.outputs.Label(num_top_classes=3), title=title, description=description, article=article, theme=theme, allow_flagging=allow_flagging, examples=examples, interpretation=interpretation, ) demo.launch( cache_examples=True, enable_queue=enable_queue, )