miwojc's picture
Update app.py
7e76094
raw
history blame
1.14 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)
size = (224, 224)
img = img.thumbnail(size, Image.ANTIALIAS)
_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),
**interface_options,
)
launch_options = {
"enable_queue": True,
"share": False,
}
demo.launch(**launch_options)