import gradio as gr from fastai.vision.all import * from huggingface_hub import from_pretrained_fastai #repo_id = "hugginglearners/brain-tumor-detection-mri" learn = from_pretrained_fastai("hugginglearners/brain-tumor-detection-mri") 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": "Brain tumor detection for MRI images", "description": "For reference only. Should **not** be used for medical diagnosis", "interpretation": "default", "layout": "horizontal", "examples": [ "no 89.jpg", "Y22.jpg" ], "allow_flagging": "never", } demo = gr.Interface( fn=predict, inputs=gr.inputs.Image(shape=(480, 480)), outputs=gr.outputs.Label(num_top_classes=2), cache_examples=False, **interface_options, ) launch_options = { "enable_queue": True, "share": False, } demo.launch(**launch_options)