sanchit-jakhetia commited on
Commit
f4435a2
·
verified ·
1 Parent(s): 7447d0a

Upload 6 files

Browse files
Files changed (6) hide show
  1. README.md +4 -4
  2. app.py +38 -0
  3. class_labels.json +40 -0
  4. gitattributes +37 -0
  5. plant_disease_model.tflite +3 -0
  6. requirements.txt +4 -0
README.md CHANGED
@@ -1,10 +1,10 @@
1
  ---
2
- title: BioTech
3
- emoji: 📉
4
  colorFrom: red
5
- colorTo: purple
6
  sdk: gradio
7
- sdk_version: 5.49.1
8
  app_file: app.py
9
  pinned: false
10
  ---
 
1
  ---
2
+ title: Plant Test Demo
3
+ emoji: 👁
4
  colorFrom: red
5
+ colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 5.44.1
8
  app_file: app.py
9
  pinned: false
10
  ---
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import tensorflow as tf
3
+ import numpy as np
4
+ from PIL import Image
5
+ import json
6
+
7
+ # Load TFLite model
8
+ interpreter = tf.lite.Interpreter(model_path="plant_disease_model.tflite")
9
+ interpreter.allocate_tensors()
10
+ input_details = interpreter.get_input_details()
11
+ output_details = interpreter.get_output_details()
12
+
13
+ # Load labels
14
+ with open("class_labels.json") as f:
15
+ labels = json.load(f)
16
+
17
+ def predict(img):
18
+ if isinstance(img, np.ndarray):
19
+ img = Image.fromarray(img)
20
+ img = img.resize((224, 224)) # adjust size to your model
21
+ img = np.array(img, dtype=np.float32) / 255.0
22
+ img = np.expand_dims(img, axis=0)
23
+
24
+ interpreter.set_tensor(input_details[0]['index'], img)
25
+ interpreter.invoke()
26
+ output_data = interpreter.get_tensor(output_details[0]['index'])
27
+
28
+ pred_class = int(np.argmax(output_data[0]))
29
+ print("Input shape:", img.shape)
30
+ print("Input dtype:", img.dtype)
31
+ print("Output:", output_data)
32
+ print("Predicted class:", pred_class)
33
+ print("Label:", labels[str(pred_class)])
34
+ return labels[str(pred_class)]
35
+
36
+
37
+ demo = gr.Interface(fn=predict, inputs="image", outputs="label")
38
+ demo.launch()
class_labels.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "0": "Apple___Apple_scab",
3
+ "1": "Apple___Black_rot",
4
+ "2": "Apple___Cedar_apple_rust",
5
+ "3": "Apple___healthy",
6
+ "4": "Blueberry___healthy",
7
+ "5": "Cherry_(including_sour)___Powdery_mildew",
8
+ "6": "Cherry_(including_sour)___healthy",
9
+ "7": "Corn_(maize)___Cercospora_leaf_spot Gray_leaf_spot",
10
+ "8": "Corn_(maize)___Common_rust_",
11
+ "9": "Corn_(maize)___Northern_Leaf_Blight",
12
+ "10": "Corn_(maize)___healthy",
13
+ "11": "Grape___Black_rot",
14
+ "12": "Grape___Esca_(Black_Measles)",
15
+ "13": "Grape___Leaf_blight_(Isariopsis_Leaf_Spot)",
16
+ "14": "Grape___healthy",
17
+ "15": "Orange___Haunglongbing_(Citrus_greening)",
18
+ "16": "Peach___Bacterial_spot",
19
+ "17": "Peach___healthy",
20
+ "18": "Pepper,_bell___Bacterial_spot",
21
+ "19": "Pepper,_bell___healthy",
22
+ "20": "Potato___Early_blight",
23
+ "21": "Potato___Late_blight",
24
+ "22": "Potato___healthy",
25
+ "23": "Raspberry___healthy",
26
+ "24": "Soybean___healthy",
27
+ "25": "Squash___Powdery_mildew",
28
+ "26": "Strawberry___Leaf_scorch",
29
+ "27": "Strawberry___healthy",
30
+ "28": "Tomato___Bacterial_spot",
31
+ "29": "Tomato___Early_blight",
32
+ "30": "Tomato___Late_blight",
33
+ "31": "Tomato___Leaf_Mold",
34
+ "32": "Tomato___Septoria_leaf_spot",
35
+ "33": "Tomato___Spider_mites Two-spotted_spider_mite",
36
+ "34": "Tomato___Target_Spot",
37
+ "35": "Tomato___Tomato_Yellow_Leaf_Curl_Virus",
38
+ "36": "Tomato___Tomato_mosaic_virus",
39
+ "37": "Tomato___healthy"
40
+ }
gitattributes ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ images/space.jpg.webp filter=lfs diff=lfs merge=lfs -text
37
+ images/images/city.jpg.webp filter=lfs diff=lfs merge=lfs -text
plant_disease_model.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef97f1c425b68c37ec676a5555a4d2da3c36895be86e166e4ab558c65169c04f
3
+ size 12950792
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ gradio
2
+ tensorflow
3
+ pillow
4
+ numpy