File size: 1,400 Bytes
f4e668e
 
 
 
 
 
 
 
3861a69
 
 
 
 
 
 
f4e668e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3861a69
f4e668e
 
 
 
 
78aa45d
f4e668e
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
import gradio as gr
from fastai.vision.all import *
import skimage
import timm


# quick function to strip the leading ###. off the parent label name
def strip_parent_num(o):
  #return parent_label(o).split('.')[1]
  try:
    r = parent_label(o).split('.')[1]
  except IndexError:
    r = parent_label(o)

  return r

# load the model
learn = load_learner('birds-convnext_small_in22k.pkl')

#function to run the image through the model and get the prediction
labels = learn.dls.vocab
def predict(img):
    img = PILImage.create(img)
    pred,pred_idx,probs = learn.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}


# Gradio customizations
title =  'Bird Identifier'
description = 'This model will predict the type of bird from an image.\n\nThe convnext_tiny_in22k model was refined using the CUB_200_2011 bird dataset.'
examples = ['cardinal1.jpg', 'crow.jpg']
interpretation = 'default'
enable_queue = True
article = '''<p style='text-align: center'><a href='https://tmabraham.github.io/blog/gradio_hf_spaces_tutorial' target='_blank'>Learning from -> Gradio + HuggingFace Spaces: A Tutorial</a></p>'''

# Deploy gradio
gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=3),title=title,description=description,article=article,examples=examples,interpretation=interpretation,enable_queue=enable_queue).launch()