mikojelly's picture
First model version
8cd7bab
#!/usr/bin/env python
# coding: utf-8
#%reload_ext autoreload
#%autoreload 2
#%matplotlib inline
#!pip install fastai --upgrade
#!pip install voila
#!jupyter serverextension enable --sys-prefix voila
#!pip install gradio
from fastai import *
from fastai.vision import *
from fastai.vision.all import *
from fastai.metrics import error_rate, accuracy
from fastai.imports import *
import gdown
import gradio as gr
from gradio.themes.base import Base
## Export the trained ResNet classifer model
path = Path()
learn_inf = load_learner(path/'export.pkl')
learn_inf.dls.vocab
image = gr.Image(shape=(180,180))
## Define predicting action
def predict(img):
img = PILImage.create(img)
pred,pred_idx,probs = learn_inf.predict(img)
return f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}'
## Define title, description and emoji
note_text = '\U00002728' + 'This plant disease detector targets on diagnosing the leaves disease of fruit and vegetables. Upload the leaf picture here! ' + '\U0001FA84'
## Set Gradio interface
gr_interface = gr.Interface(fn=predict, inputs=gr.Image(shape=(180, 180)),outputs=gr.Label(num_top_classes=len(learn_inf.dls.vocab)), interpretation="default",title = '\U0001F31D'+'Plant Disease Detector'+'\U0001FAB4',description = note_text, theme='gradio/seafoam')
## Use interface launch
gr_interface.launch(share=True)