Spaces:
Runtime error
Runtime error
File size: 1,351 Bytes
1ac122c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import gradio as gr
from fastai.vision.all import load_learner
# PIL ANTES: 8.2.0
CATS_MAP = {
"eColi": "E. coli",
"staphylococcusAureus": "Staphylococcus aureus",
"streptococcusPyogenes": "Streptococcus pyogenes",
"pseudomonasAeruginosa": "Pseudomonas aeruginosa",
"salmonellaSpp": "Salmonella spp",
"klebsiellaPneumoniae": "Klebsiella pneumoniae",
"proteusMirabilis": "Proteus mirabilis",
"enterococcusFaecalis": "Enterococcus faecalis",
"lactobacillus": "Lactobacillus",
}
# load pre-trained model
model = load_learner("model.pkl")
# get classes name in right order
full_name_cats = [CATS_MAP[key_class] for key_class in model.dls.vocab]
def classify_image(img) -> dict:
category, idx, probs = model.predict(img)
return dict(zip(full_name_cats, map(float, probs)))
# Gradio control
image = gr.inputs.Image(shape=(224, 224))
label = gr.outputs.Label(num_top_classes=4)
examples = [
f"images_examples/{filename}"
for filename in ("klebsiella.jpg", "enterococcus.jpg", "salmonella.jpg")
]
gui = gr.Interface(
fn=classify_image,
inputs=image,
outputs=label,
examples=examples,
title="Detect bacterias - first version",
description=(
f"Detect if the given Petri dish culture image belongs to one of those: ({full_name_cats})."
)
)
gui.launch(inline=False) |