miwojc's picture
Create new file
a7c737f
raw
history blame
1.13 kB
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(repo_id)
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",
# Audio from validation file
# "examples": [
# "100098.jpg",
# "100002.jpg",
# "100048.jpg"
# ],
"allow_flagging": "never",
}
demo = gr.Interface(
fn=predict,
inputs=gr.inputs.Image(shape=(480, 480)),
outputs=gr.outputs.Label(num_top_classes=3),
**interface_options,
)
launch_options = {
"enable_queue": True,
"share": False,
}
demo.launch(**launch_options)