File size: 1,191 Bytes
28bd1c3
 
 
 
 
 
 
 
 
 
dafc309
28bd1c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14074c9
 
94b6d80
28bd1c3
 
 
 
 
 
 
dafc309
28bd1c3
 
 
 
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
import gradio as gr
from fastai.vision.all import *
from huggingface_hub import from_pretrained_fastai
import torch, os
import traceback


os.environ.setdefault("OMP_NUM_THREADS", "1")
torch.set_num_threads(1)

learn = from_pretrained_fastai("Pablogps/kedar-200-birds")
try:
    learn.to_fp32()
except:
    pass
labels = learn.dls.vocab

def predict(img):
    try:
        # img = PILImage.create(img)
        pred, pred_idx, probs = learn.predict(img)
        return {labels[i]: float(probs[i]) for i in range(len(labels))}
    except Exception as e:
        tb = traceback.format_exc()
        print(tb, flush=True)
        raise gr.Error(f"{type(e).__name__}: {e}")

title = "Bird classifier"
description = "A small model that classifies birds, trained quickly with kedar 200."
examples = ['examples_american_crow.jpg', 'examples_barn_swallow.jpg', 'examples_pied_kingfisher.jpg']

demo = gr.Interface(
    fn=predict,
    inputs=gr.Image(type="pil"),
    outputs=gr.Label(num_top_classes=3),
    title=title,
    description=description,
    examples=examples,
    cache_examples=False,       # <-- don’t pre-run at startup
)

demo.queue(max_size=8).launch(show_error=True, debug=True)