Spaces:
Sleeping
Sleeping
File size: 1,930 Bytes
6a5c7ef 2a431fb 65d5227 6a5c7ef 65d5227 6a5c7ef bd45a45 5b9df66 b77847f 6a5c7ef 2a431fb cd746d6 ff40675 b2c5661 2a431fb |
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 |
import numpy as np
import gradio as gr
import tensorflow as tf #version 2.13.0
import keras #version
import numpy as np
import cv2
import tensorflow as tf
import h5py
def analyse(img,plant_type):
import json
# Load label_disease.json
with open('data/label_disease.json', 'r') as f:
label_disease = json.load(f)
# Load plant_label_disease.json
with open('data/plant_label_disease.json', 'r') as f:
plant_label_disease = json.load(f)
HEIGHT = 256
WIDTH = 256
modelArchitecturePath ='model/model_architecture.h5'
modelWeightsPath = 'model/model_weights.h5'
dnn_model = keras.models.load_model(modelArchitecturePath,compile=False)
dnn_model.load_weights(modelWeightsPath)
process_img = cv2.resize(img, (HEIGHT, WIDTH),interpolation = cv2.INTER_LINEAR)
process_img = process_img/(255)
process_img = np.expand_dims(process_img, axis=0)
y_pred = dnn_model.predict(process_img)
print("y pred",y_pred)
indx = np.argmax(y_pred)
max_prob_indx = plant_label_disease[plant_type.lower()][0]
for disease in plant_label_disease[plant_type.lower()]:
print(disease,y_pred[0][disease],max_prob_indx,y_pred[0][max_prob_indx])
if y_pred[0][disease]>y_pred[0][max_prob_indx]:
max_prob_indx = disease
print(label_disease[indx])
print(y_pred[0][indx])
print(label_disease[max_prob_indx])
print(y_pred[0][max_prob_indx])
return int(indx),max_prob_indx,label_disease[indx],y_pred[0][indx],label_disease[max_prob_indx],y_pred[0][max_prob_indx]
demo = gr.Interface(analyse,
[gr.Image(),gr.Radio(["Apple","Blueberry","Cherry","Corn","Grape","Orange","Peach","Pepper","Potato","Raspberry","Soybean","Squash","Strawberry","Tomato"])],
["number","number","text","number","text","number"],
)
demo.launch(share=True,show_error=True) |