File size: 1,967 Bytes
d421aef
 
 
 
 
 
 
 
 
 
fcdd659
 
 
 
 
 
 
 
d421aef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bea3c23
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
import tensorflow as tf
import numpy as np
import gradio as gr

# With the path to your actual .h5 file
model_path = 'model__xception.h5'

# Load the pre-trained model
model = tf.keras.models.load_model(model_path)

#Defining the labels
labels = ['Aloevera','Amla','Amruthaballi','Arali','Astma_weed','Badipala','Balloon_Vine','Bamboo','Beans','Betel','Bhrami','Bringaraja','Caricature','Castor','Catharanthus',
          'Chakte','Chilly','Citron lime (herelikai)','Coffee','Common rue(naagdalli)','Coriender','Curry','Doddpathre','Drumstick','Ekka','Eucalyptus','Ganigale','Ganike',
          'Gasagase','Ginger','Globe Amarnath','Guava','Henna','Hibiscus','Honge','Insulin','Jackfruit','Jasmine','Kambajala','Kasambruga','Kohlrabi','Lantana','Lemon',
          'Lemongrass','Malabar_Nut','Malabar_Spinach','Mango','Marigold','Mint','Neem','Nelavembu','Nerale','Nooni','Onion','Padri','Palak(Spinach)','Papaya','Parijatha',
          'Pea','Pepper','Pomoegranate','Pumpkin','Raddish','Rose','Sampige','Sapota','Seethaashoka','Seethapala','Spinach1','Tamarind','Taro','Tecoma','Thumbe','Tomato',
          'Tulsi','Turmeric','ashoka','camphor','kamakasturi','kepala']

## Define the predict function for Gradio
def predict_gradio(image):
    # Preprocess the input image
    img_array = tf.image.resize(image, (299, 299))
    img_array = tf.keras.preprocessing.image.img_to_array(img_array)
    img_array = tf.expand_dims(img_array, 0)  # Create a batch

    # Make a prediction using the trained model
    predictions = model.predict(img_array)
    print(predictions)
    score = tf.nn.sigmoid(predictions[0])

    return ("This image most likely belongs to {} with a {:.2f} percent confidence.".format(labels[np.argmax(score)], 100 * np.max(score)))

#Create a Gradio interface
iface = gr.Interface(
    fn=predict_gradio,
    inputs=gr.Image(),
    outputs="label",
    live=True,
    cache_examples=False
)

# Launch the Gradio interface
iface.launch(share=True)