File size: 1,038 Bytes
d303376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516c9b9
 
 
 
f7dd102
d303376
 
 
 
516c9b9
fef0820
d303376
 
 
 
 
0196ebc
76a4453
d303376
 
 
0196ebc
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
from fastai.vision.all import *
import gradio as gr
from duckduckgo_search import ddg_images
from fastdownload import download_url


def find_image(img):
    return L(ddg_images(img, max_results=1)).itemgot('image')


showcase_imgs = ["tomato", "apple", "lemon"]


def showcase(imgs):
    for i in imgs:
        url = find_image(i)
        dest = f'./{i}.jpg'
        download_url(url[0], dest, show_progress=False)


def label_func(f):
    return f.split("_")[0]


learner = load_learner("model3.pk3")

labels = learner.dls.vocab


def predict(image):
    img = Image.fromarray(image)
    pred, pred_idx, probs = learner.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}


image = gr.inputs.Image(shape=(192, 192))
label = gr.outputs.Label(num_top_classes=3)
title = "Fruits and vegetables Classifier"
examples = ['tomato.jpg', 'lemon.jpg', 'apple.jpg']

interface = gr.Interface(fn=predict, inputs=image,
                         outputs=label, examples=examples, title=title, enable_queue=True).launch()