File size: 1,196 Bytes
73fc5dd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/env python
# coding: utf-8

# In[1]:


#get_ipython().run_line_magic('pip', 'install -q gradio')
#get_ipython().run_line_magic('pip', 'install fastbook')
#get_ipython().run_line_magic('pip', 'install -Uqq fastai')


# In[2]:


import fastbook
fastbook.setup_book()
from fastbook import *
from fastai.vision.widgets import *
from fastai.vision.all import *
import gradio as gr


# In[3]:


#!pip uninstall Pillow
#!pip install Pillow
# import PIL.Image
# if not hasattr(PIL.Image, 'Resampling'):  # Pillow<9.0
#     PIL.Image.Resampling = PIL.Image
# Now PIL.Image.Resampling.BICUBIC is always recognized.


# In[5]:


#import pathlib
#temp = pathlib.PosixPath
#pathlib.PosixPath = pathlib.WindowsPath


# In[8]:


learn_inf = load_learner('NovaOrToastModel.pkl')
learn_inf.dls.vocab # Reminds us of the categories
categories = learn_inf.dls.vocab

def classify_image(img):
    pred, idx, probs = learn_inf.predict(img)
    return dict(zip(categories, map(float,probs)))

image = gr.inputs.Image(shape=(192,192)) 
label = gr.outputs.Label()
examples = ["ToastTest.jpeg"]

intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
intf.launch(inline=False)