|
import os |
|
|
|
import gradio as gr |
|
import numpy as np |
|
import pandas as pd |
|
import tensorflow as tf |
|
from tensorflow.keras.layers import * |
|
from tensorflow.keras.preprocessing.image import ImageDataGenerator |
|
|
|
|
|
def classify_grapevine_leaves(img): |
|
categories = ("Healthy", "Powdery Mildew", "Rust") |
|
|
|
|
|
model = tf.keras.models.load_model("./keras_model/") |
|
|
|
|
|
|
|
img = tf.keras.preprocessing.image.img_to_array(img) |
|
|
|
img = tf.expand_dims(img, axis=0) |
|
|
|
prediction = model.predict(img) |
|
|
|
print(np.argmax(prediction, axis=1)) |
|
label = categories[prediction.argmax()] |
|
|
|
conf = prediction[0][prediction.argmax()] |
|
|
|
return dict(zip(categories, map(float, prediction[0]))) |
|
|
|
|
|
exemples = [ |
|
"./exemples/healthy.jpg", |
|
"./exemples/powdery.jpg", |
|
"./exemples/rust.jpg", |
|
] |
|
|
|
image = gr.inputs.Image(shape=(360, 360)) |
|
label = gr.outputs.Label() |
|
app = gr.Interface( |
|
fn=classify_grapevine_leaves, inputs=image, outputs=label, examples=exemples |
|
) |
|
app.launch(inline=False) |
|
|