Upload 92 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +12 -0
- __crop-disease-detection/.gitattributes +1 -0
- __crop-disease-detection/Dockerfile +17 -0
- __crop-disease-detection/Research/model_test.py +10 -0
- __crop-disease-detection/Research/sugarcane-disease-detection.py +47 -0
- __crop-disease-detection/Research/test.py +65 -0
- __crop-disease-detection/Run-on-Colab-CropDiseaseDetector_FlaskNgrok_test.ipynb +1272 -0
- __crop-disease-detection/__pycache__/utils.cpython-311.pyc +0 -0
- __crop-disease-detection/app.py +140 -0
- __crop-disease-detection/docker-details.txt +49 -0
- __crop-disease-detection/main.py +145 -0
- __crop-disease-detection/model_folder/cotton_disease_model.h5 +3 -0
- __crop-disease-detection/model_folder/sugarcane_disease_model.h5 +3 -0
- __crop-disease-detection/model_folder/tomato_disease_model.h5 +3 -0
- __crop-disease-detection/requirements.txt +0 -0
- __crop-disease-detection/static/setup/cotton_image.jpeg +0 -0
- __crop-disease-detection/static/setup/logo.png +0 -0
- __crop-disease-detection/static/setup/plant.png +0 -0
- __crop-disease-detection/static/setup/sugarcane_image.jpeg +0 -0
- __crop-disease-detection/static/setup/tomato_image.jpeg +0 -0
- __crop-disease-detection/static/uploaded_images/imageFile.jpeg +0 -0
- __crop-disease-detection/templates/index.html +79 -0
- __crop-disease-detection/templates/modelresult.html +124 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (101)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (106)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (109)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (110)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (101)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (103)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (105)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (108)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (10)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (103)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (107)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (110)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (136)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (138)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (144)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (146)_iaip.jpeg +0 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (10).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (12).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (17).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (20).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (100).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (12).jpg +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (14).jpg +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (19).jpg +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (100).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (12).JPG +3 -0
- __crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (16).JPG +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,15 @@ saved_model/**/* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial[[:space:]]Blight/S_BLB[[:space:]](10).JPG filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial[[:space:]]Blight/S_BLB[[:space:]](12).JPG filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial[[:space:]]Blight/S_BLB[[:space:]](17).JPG filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial[[:space:]]Blight/S_BLB[[:space:]](20).JPG filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H[[:space:]](100).JPG filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H[[:space:]](12).jpg filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H[[:space:]](14).jpg filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H[[:space:]](19).jpg filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Red[[:space:]]Rot/S_RR[[:space:]](100).JPG filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Red[[:space:]]Rot/S_RR[[:space:]](12).JPG filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Red[[:space:]]Rot/S_RR[[:space:]](16).JPG filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
__crop-disease-detection/test_img_folder/sugarcanemodel/Red[[:space:]]Rot/S_RR[[:space:]](21).JPG filter=lfs diff=lfs merge=lfs -text
|
__crop-disease-detection/.gitattributes
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
model_folder/*.h5 filter=lfs diff=lfs merge=lfs -text
|
__crop-disease-detection/Dockerfile
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.8-alpine
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
COPY . /app
|
| 5 |
+
|
| 6 |
+
# Install TensorFlow 1.0.0 from the specified wheel file
|
| 7 |
+
RUN pip install --no-cache-dir --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.0-py3-none-any.whl
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
# Upgrade pip and install dependencies
|
| 11 |
+
# RUN apk add --no-cache build-base && pip install --upgrade pip && pip install -r requirements.txt && apk del build-base
|
| 12 |
+
|
| 13 |
+
# Upgrade pip and install any other needed dependencies specified in requirements.txt
|
| 14 |
+
RUN pip install --upgrade pip && pip install -r requirements.txt
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
CMD python app.py
|
__crop-disease-detection/Research/model_test.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from utils import cottonmodel, sugarcanemodel, tomatomodel, get_model_details
|
| 2 |
+
|
| 3 |
+
# img_path = "test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (101)_iaip.jpeg"
|
| 4 |
+
img_path = "test_img_folder/cottonmodel/diseased cotton plant/dd (101)_iaip.jpeg"
|
| 5 |
+
# img_path = "test_img_folder/cottonmodel/fresh cotton plant/dsd (138)_iaip.jpeg"
|
| 6 |
+
result = cottonmodel(img_path)
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
# result = sugarcanemodel(img_path)
|
| 10 |
+
# result = tomatomodel(img_path)
|
__crop-disease-detection/Research/sugarcane-disease-detection.py
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# pip install tensorflow
|
| 2 |
+
|
| 3 |
+
import tensorflow.compat.v1 as tf
|
| 4 |
+
tf.disable_v2_behavior()
|
| 5 |
+
tf.enable_eager_execution()
|
| 6 |
+
|
| 7 |
+
from tensorflow.keras.models import load_model
|
| 8 |
+
from tensorflow.keras.preprocessing import image
|
| 9 |
+
import numpy as np
|
| 10 |
+
|
| 11 |
+
image_size = (224, 224)
|
| 12 |
+
__classNames = [ "Bacterial Blight", "Healthy", "Red Rot" ]
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
# Load the saved model
|
| 16 |
+
saved_model = load_model("model_folder\sugarcane_disease_model.h5")
|
| 17 |
+
|
| 18 |
+
# Load an example image for inference
|
| 19 |
+
|
| 20 |
+
# Bacterial Blight
|
| 21 |
+
Bacterial_Blight_img_path = ['test_img_folder\Bacterial Blight\S_BLB (10).JPG', 'test_img_folder\Bacterial Blight\S_BLB (12).JPG', 'test_img_folder\Bacterial Blight\S_BLB (17).JPG', 'test_img_folder\Bacterial Blight\S_BLB (20).JPG']
|
| 22 |
+
|
| 23 |
+
# Healthy
|
| 24 |
+
Healthy_img_path = ['test_img_folder\Healthy\S_H (12).jpg', 'test_img_folder\Healthy\S_H (14).jpg', 'test_img_folder\Healthy\S_H (19).jpg', 'test_img_folder\Healthy\S_H (100).JPG']
|
| 25 |
+
|
| 26 |
+
# Red Rot
|
| 27 |
+
Red_Rot_img_path = ['test_img_folder\Red Rot\S_RR (12).JPG', 'test_img_folder\Red Rot\S_RR (16).JPG', 'test_img_folder\Red Rot\S_RR (21).JPG', 'test_img_folder\Red Rot\S_RR (100).JPG']
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
# select img_path
|
| 31 |
+
|
| 32 |
+
# img_path = Bacterial_Blight_img_path[0]
|
| 33 |
+
# img_path = Healthy_img_path[0]
|
| 34 |
+
img_path = Red_Rot_img_path[0]
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
img = image.load_img(img_path, target_size=image_size)
|
| 38 |
+
img_array = image.img_to_array(img)
|
| 39 |
+
img_array = np.expand_dims(img_array, axis=0) / 255.0
|
| 40 |
+
|
| 41 |
+
# Make predictions
|
| 42 |
+
predictions = saved_model.predict(img_array)
|
| 43 |
+
|
| 44 |
+
# Get the predicted class
|
| 45 |
+
predicted_class = np.argmax(predictions)
|
| 46 |
+
print("predicted_class : ", predicted_class)
|
| 47 |
+
print(f"Predicted Class: {__classNames[predicted_class]}")
|
__crop-disease-detection/Research/test.py
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Model_related_data = {
|
| 2 |
+
"tomatomodel" : {
|
| 3 |
+
"dataset" : {
|
| 4 |
+
"total_images" : 14678,
|
| 5 |
+
"total_classes" : 10,
|
| 6 |
+
"classes_names" : [
|
| 7 |
+
"Late_blight",
|
| 8 |
+
"healthy",
|
| 9 |
+
"Early_blight",
|
| 10 |
+
"Septoria_leaf_spot",
|
| 11 |
+
"Tomato_Yellow_Leaf_Curl_Virus",
|
| 12 |
+
"Bacterial_spot",
|
| 13 |
+
"Target_Spot",
|
| 14 |
+
"Tomato_mosaic_virus",
|
| 15 |
+
"Leaf_Mold",
|
| 16 |
+
"Spider_mites Two-spotted_spider_mite",
|
| 17 |
+
],
|
| 18 |
+
},
|
| 19 |
+
|
| 20 |
+
"training" : {
|
| 21 |
+
"epochs" : 7,
|
| 22 |
+
"batch_size" : 32,
|
| 23 |
+
"img_frame_size" : (224,224),
|
| 24 |
+
"CNN_layers" : 5,
|
| 25 |
+
"CNN_layer_name" : 'relu',
|
| 26 |
+
}
|
| 27 |
+
},
|
| 28 |
+
|
| 29 |
+
"sugarcanemodel" : {
|
| 30 |
+
"dataset" : {
|
| 31 |
+
"total_images" : 240,
|
| 32 |
+
"total_classes" : 3,
|
| 33 |
+
"classes_names" : [ "Bacterial Blight", "Healthy", "Red Rot" ],
|
| 34 |
+
},
|
| 35 |
+
|
| 36 |
+
"training" : {
|
| 37 |
+
"epochs" : 10,
|
| 38 |
+
"batch_size" : 32,
|
| 39 |
+
"img_frame_size" : (224,224),
|
| 40 |
+
"CNN_layers" : 5,
|
| 41 |
+
"CNN_layer_name" : 'relu',
|
| 42 |
+
}
|
| 43 |
+
},
|
| 44 |
+
|
| 45 |
+
"cottonmodel" : {
|
| 46 |
+
"dataset" : {
|
| 47 |
+
"total_images" : 1951,
|
| 48 |
+
"total_classes" : 4,
|
| 49 |
+
"classes_names" : ["Diseased Cotton Leaf", "Diseased Cotton Plant", "Fresh Cotton Leaf", "Fresh Cotton Plant"],
|
| 50 |
+
},
|
| 51 |
+
|
| 52 |
+
"training" : {
|
| 53 |
+
"epochs" : 10,
|
| 54 |
+
"batch_size" : 32,
|
| 55 |
+
"img_frame_size" : (224,224),
|
| 56 |
+
"CNN_layers" : 4,
|
| 57 |
+
"CNN_layer_name" : 'relu',
|
| 58 |
+
}
|
| 59 |
+
},
|
| 60 |
+
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
print(Model_related_data['tomatomodel'])
|
| 64 |
+
print(Model_related_data['tomatomodel']['dataset']['classes_names'])
|
| 65 |
+
print(Model_related_data['tomatomodel']['training'])
|
__crop-disease-detection/Run-on-Colab-CropDiseaseDetector_FlaskNgrok_test.ipynb
ADDED
|
@@ -0,0 +1,1272 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 1,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"colab": {
|
| 8 |
+
"base_uri": "https://localhost:8080/"
|
| 9 |
+
},
|
| 10 |
+
"id": "ngJ3y91pqJIe",
|
| 11 |
+
"outputId": "c274d048-341b-49cb-a607-ebcbf738e09b"
|
| 12 |
+
},
|
| 13 |
+
"outputs": [
|
| 14 |
+
{
|
| 15 |
+
"name": "stdout",
|
| 16 |
+
"output_type": "stream",
|
| 17 |
+
"text": [
|
| 18 |
+
"Cloning into 'cropDisease-classification'...\n",
|
| 19 |
+
"remote: Enumerating objects: 139, done.\u001b[K\n",
|
| 20 |
+
"remote: Counting objects: 100% (23/23), done.\u001b[K\n",
|
| 21 |
+
"remote: Compressing objects: 100% (19/19), done.\u001b[K\n",
|
| 22 |
+
"remote: Total 139 (delta 2), reused 17 (delta 1), pack-reused 116\u001b[K\n",
|
| 23 |
+
"Receiving objects: 100% (139/139), 83.34 MiB | 36.41 MiB/s, done.\n",
|
| 24 |
+
"Resolving deltas: 100% (2/2), done.\n",
|
| 25 |
+
"Filtering content: 100% (3/3), 510.39 MiB | 57.76 MiB/s, done.\n"
|
| 26 |
+
]
|
| 27 |
+
}
|
| 28 |
+
],
|
| 29 |
+
"source": [
|
| 30 |
+
"# !git clone https://github.com/AssemblyAI-Examples/flask-gpu-app.git\n",
|
| 31 |
+
"\n",
|
| 32 |
+
"!git clone https://github.com/HandMadeProjects/cropDisease-classification.git"
|
| 33 |
+
]
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"cell_type": "code",
|
| 37 |
+
"execution_count": 2,
|
| 38 |
+
"metadata": {
|
| 39 |
+
"id": "gyWeidA_qQAf"
|
| 40 |
+
},
|
| 41 |
+
"outputs": [],
|
| 42 |
+
"source": [
|
| 43 |
+
"import os\n",
|
| 44 |
+
"os.chdir(\"cropDisease-classification/__crop-disease-detection\")"
|
| 45 |
+
]
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"cell_type": "code",
|
| 49 |
+
"execution_count": 3,
|
| 50 |
+
"metadata": {
|
| 51 |
+
"colab": {
|
| 52 |
+
"base_uri": "https://localhost:8080/"
|
| 53 |
+
},
|
| 54 |
+
"id": "LLw1CbCHtyI2",
|
| 55 |
+
"outputId": "a47126b4-9d7d-489c-9f43-54c34e9fe17d"
|
| 56 |
+
},
|
| 57 |
+
"outputs": [
|
| 58 |
+
{
|
| 59 |
+
"name": "stdout",
|
| 60 |
+
"output_type": "stream",
|
| 61 |
+
"text": [
|
| 62 |
+
"app.py\t\t Dockerfile\tmodel_folder requirements.txt\tstatic\t test_img_folder\n",
|
| 63 |
+
"docker-details.txt main.py\t__pycache__ Research\t\ttemplates utils.py\n"
|
| 64 |
+
]
|
| 65 |
+
}
|
| 66 |
+
],
|
| 67 |
+
"source": [
|
| 68 |
+
"!ls"
|
| 69 |
+
]
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"cell_type": "code",
|
| 73 |
+
"execution_count": 4,
|
| 74 |
+
"metadata": {
|
| 75 |
+
"colab": {
|
| 76 |
+
"base_uri": "https://localhost:8080/"
|
| 77 |
+
},
|
| 78 |
+
"id": "ROxrXn_Rt_tk",
|
| 79 |
+
"outputId": "34429ae7-4b08-4424-d413-8f6e20647abf"
|
| 80 |
+
},
|
| 81 |
+
"outputs": [
|
| 82 |
+
{
|
| 83 |
+
"name": "stdout",
|
| 84 |
+
"output_type": "stream",
|
| 85 |
+
"text": [
|
| 86 |
+
"Package Version\n",
|
| 87 |
+
"-------------------------------- ---------------------\n",
|
| 88 |
+
"absl-py 1.4.0\n",
|
| 89 |
+
"aiohttp 3.9.1\n",
|
| 90 |
+
"aiosignal 1.3.1\n",
|
| 91 |
+
"alabaster 0.7.13\n",
|
| 92 |
+
"albumentations 1.3.1\n",
|
| 93 |
+
"altair 4.2.2\n",
|
| 94 |
+
"anyio 3.7.1\n",
|
| 95 |
+
"appdirs 1.4.4\n",
|
| 96 |
+
"argon2-cffi 23.1.0\n",
|
| 97 |
+
"argon2-cffi-bindings 21.2.0\n",
|
| 98 |
+
"array-record 0.5.0\n",
|
| 99 |
+
"arviz 0.15.1\n",
|
| 100 |
+
"astropy 5.3.4\n",
|
| 101 |
+
"astunparse 1.6.3\n",
|
| 102 |
+
"async-timeout 4.0.3\n",
|
| 103 |
+
"atpublic 4.0\n",
|
| 104 |
+
"attrs 23.1.0\n",
|
| 105 |
+
"audioread 3.0.1\n",
|
| 106 |
+
"autograd 1.6.2\n",
|
| 107 |
+
"Babel 2.13.1\n",
|
| 108 |
+
"backcall 0.2.0\n",
|
| 109 |
+
"beautifulsoup4 4.11.2\n",
|
| 110 |
+
"bidict 0.22.1\n",
|
| 111 |
+
"bigframes 0.15.0\n",
|
| 112 |
+
"bleach 6.1.0\n",
|
| 113 |
+
"blinker 1.4\n",
|
| 114 |
+
"blis 0.7.11\n",
|
| 115 |
+
"blosc2 2.0.0\n",
|
| 116 |
+
"bokeh 3.3.1\n",
|
| 117 |
+
"bqplot 0.12.42\n",
|
| 118 |
+
"branca 0.7.0\n",
|
| 119 |
+
"build 1.0.3\n",
|
| 120 |
+
"CacheControl 0.13.1\n",
|
| 121 |
+
"cachetools 5.3.2\n",
|
| 122 |
+
"catalogue 2.0.10\n",
|
| 123 |
+
"certifi 2023.11.17\n",
|
| 124 |
+
"cffi 1.16.0\n",
|
| 125 |
+
"chardet 5.2.0\n",
|
| 126 |
+
"charset-normalizer 3.3.2\n",
|
| 127 |
+
"chex 0.1.7\n",
|
| 128 |
+
"click 8.1.7\n",
|
| 129 |
+
"click-plugins 1.1.1\n",
|
| 130 |
+
"cligj 0.7.2\n",
|
| 131 |
+
"cloudpickle 2.2.1\n",
|
| 132 |
+
"cmake 3.27.7\n",
|
| 133 |
+
"cmdstanpy 1.2.0\n",
|
| 134 |
+
"colorcet 3.0.1\n",
|
| 135 |
+
"colorlover 0.3.0\n",
|
| 136 |
+
"colour 0.1.5\n",
|
| 137 |
+
"community 1.0.0b1\n",
|
| 138 |
+
"confection 0.1.4\n",
|
| 139 |
+
"cons 0.4.6\n",
|
| 140 |
+
"contextlib2 21.6.0\n",
|
| 141 |
+
"contourpy 1.2.0\n",
|
| 142 |
+
"cryptography 41.0.7\n",
|
| 143 |
+
"cufflinks 0.17.3\n",
|
| 144 |
+
"cupy-cuda11x 11.0.0\n",
|
| 145 |
+
"cvxopt 1.3.2\n",
|
| 146 |
+
"cvxpy 1.3.2\n",
|
| 147 |
+
"cycler 0.12.1\n",
|
| 148 |
+
"cymem 2.0.8\n",
|
| 149 |
+
"Cython 3.0.6\n",
|
| 150 |
+
"dask 2023.8.1\n",
|
| 151 |
+
"datascience 0.17.6\n",
|
| 152 |
+
"db-dtypes 1.1.1\n",
|
| 153 |
+
"dbus-python 1.2.18\n",
|
| 154 |
+
"debugpy 1.6.6\n",
|
| 155 |
+
"decorator 4.4.2\n",
|
| 156 |
+
"defusedxml 0.7.1\n",
|
| 157 |
+
"diskcache 5.6.3\n",
|
| 158 |
+
"distributed 2023.8.1\n",
|
| 159 |
+
"distro 1.7.0\n",
|
| 160 |
+
"dlib 19.24.2\n",
|
| 161 |
+
"dm-tree 0.1.8\n",
|
| 162 |
+
"docutils 0.18.1\n",
|
| 163 |
+
"dopamine-rl 4.0.6\n",
|
| 164 |
+
"duckdb 0.9.2\n",
|
| 165 |
+
"earthengine-api 0.1.381\n",
|
| 166 |
+
"easydict 1.11\n",
|
| 167 |
+
"ecos 2.0.12\n",
|
| 168 |
+
"editdistance 0.6.2\n",
|
| 169 |
+
"eerepr 0.0.4\n",
|
| 170 |
+
"en-core-web-sm 3.6.0\n",
|
| 171 |
+
"entrypoints 0.4\n",
|
| 172 |
+
"et-xmlfile 1.1.0\n",
|
| 173 |
+
"etils 1.5.2\n",
|
| 174 |
+
"etuples 0.3.9\n",
|
| 175 |
+
"exceptiongroup 1.2.0\n",
|
| 176 |
+
"fastai 2.7.13\n",
|
| 177 |
+
"fastcore 1.5.29\n",
|
| 178 |
+
"fastdownload 0.0.7\n",
|
| 179 |
+
"fastjsonschema 2.19.0\n",
|
| 180 |
+
"fastprogress 1.0.3\n",
|
| 181 |
+
"fastrlock 0.8.2\n",
|
| 182 |
+
"filelock 3.13.1\n",
|
| 183 |
+
"fiona 1.9.5\n",
|
| 184 |
+
"firebase-admin 5.3.0\n",
|
| 185 |
+
"Flask 2.2.5\n",
|
| 186 |
+
"flatbuffers 23.5.26\n",
|
| 187 |
+
"flax 0.7.5\n",
|
| 188 |
+
"folium 0.14.0\n",
|
| 189 |
+
"fonttools 4.45.1\n",
|
| 190 |
+
"frozendict 2.3.10\n",
|
| 191 |
+
"frozenlist 1.4.0\n",
|
| 192 |
+
"fsspec 2023.6.0\n",
|
| 193 |
+
"future 0.18.3\n",
|
| 194 |
+
"gast 0.5.4\n",
|
| 195 |
+
"gcsfs 2023.6.0\n",
|
| 196 |
+
"GDAL 3.4.3\n",
|
| 197 |
+
"gdown 4.6.6\n",
|
| 198 |
+
"geemap 0.28.2\n",
|
| 199 |
+
"gensim 4.3.2\n",
|
| 200 |
+
"geocoder 1.38.1\n",
|
| 201 |
+
"geographiclib 2.0\n",
|
| 202 |
+
"geopandas 0.13.2\n",
|
| 203 |
+
"geopy 2.3.0\n",
|
| 204 |
+
"gin-config 0.5.0\n",
|
| 205 |
+
"glob2 0.7\n",
|
| 206 |
+
"google 2.0.3\n",
|
| 207 |
+
"google-ai-generativelanguage 0.3.3\n",
|
| 208 |
+
"google-api-core 2.11.1\n",
|
| 209 |
+
"google-api-python-client 2.84.0\n",
|
| 210 |
+
"google-auth 2.17.3\n",
|
| 211 |
+
"google-auth-httplib2 0.1.1\n",
|
| 212 |
+
"google-auth-oauthlib 1.0.0\n",
|
| 213 |
+
"google-cloud-aiplatform 1.36.4\n",
|
| 214 |
+
"google-cloud-bigquery 3.12.0\n",
|
| 215 |
+
"google-cloud-bigquery-connection 1.12.1\n",
|
| 216 |
+
"google-cloud-bigquery-storage 2.23.0\n",
|
| 217 |
+
"google-cloud-core 2.3.3\n",
|
| 218 |
+
"google-cloud-datastore 2.15.2\n",
|
| 219 |
+
"google-cloud-firestore 2.11.1\n",
|
| 220 |
+
"google-cloud-functions 1.13.3\n",
|
| 221 |
+
"google-cloud-iam 2.12.2\n",
|
| 222 |
+
"google-cloud-language 2.9.1\n",
|
| 223 |
+
"google-cloud-resource-manager 1.10.4\n",
|
| 224 |
+
"google-cloud-storage 2.8.0\n",
|
| 225 |
+
"google-cloud-translate 3.11.3\n",
|
| 226 |
+
"google-colab 1.0.0\n",
|
| 227 |
+
"google-crc32c 1.5.0\n",
|
| 228 |
+
"google-generativeai 0.2.2\n",
|
| 229 |
+
"google-pasta 0.2.0\n",
|
| 230 |
+
"google-resumable-media 2.6.0\n",
|
| 231 |
+
"googleapis-common-protos 1.61.0\n",
|
| 232 |
+
"googledrivedownloader 0.4\n",
|
| 233 |
+
"graphviz 0.20.1\n",
|
| 234 |
+
"greenlet 3.0.1\n",
|
| 235 |
+
"grpc-google-iam-v1 0.12.7\n",
|
| 236 |
+
"grpcio 1.59.3\n",
|
| 237 |
+
"grpcio-status 1.48.2\n",
|
| 238 |
+
"gspread 3.4.2\n",
|
| 239 |
+
"gspread-dataframe 3.3.1\n",
|
| 240 |
+
"gym 0.25.2\n",
|
| 241 |
+
"gym-notices 0.0.8\n",
|
| 242 |
+
"h5netcdf 1.3.0\n",
|
| 243 |
+
"h5py 3.9.0\n",
|
| 244 |
+
"holidays 0.37\n",
|
| 245 |
+
"holoviews 1.17.1\n",
|
| 246 |
+
"html5lib 1.1\n",
|
| 247 |
+
"httpimport 1.3.1\n",
|
| 248 |
+
"httplib2 0.22.0\n",
|
| 249 |
+
"huggingface-hub 0.19.4\n",
|
| 250 |
+
"humanize 4.7.0\n",
|
| 251 |
+
"hyperopt 0.2.7\n",
|
| 252 |
+
"ibis-framework 6.2.0\n",
|
| 253 |
+
"idna 3.6\n",
|
| 254 |
+
"imageio 2.31.6\n",
|
| 255 |
+
"imageio-ffmpeg 0.4.9\n",
|
| 256 |
+
"imagesize 1.4.1\n",
|
| 257 |
+
"imbalanced-learn 0.10.1\n",
|
| 258 |
+
"imgaug 0.4.0\n",
|
| 259 |
+
"importlib-metadata 6.8.0\n",
|
| 260 |
+
"importlib-resources 6.1.1\n",
|
| 261 |
+
"imutils 0.5.4\n",
|
| 262 |
+
"inflect 7.0.0\n",
|
| 263 |
+
"iniconfig 2.0.0\n",
|
| 264 |
+
"install 1.3.5\n",
|
| 265 |
+
"intel-openmp 2023.2.0\n",
|
| 266 |
+
"ipyevents 2.0.2\n",
|
| 267 |
+
"ipyfilechooser 0.6.0\n",
|
| 268 |
+
"ipykernel 5.5.6\n",
|
| 269 |
+
"ipyleaflet 0.18.0\n",
|
| 270 |
+
"ipython 7.34.0\n",
|
| 271 |
+
"ipython-genutils 0.2.0\n",
|
| 272 |
+
"ipython-sql 0.5.0\n",
|
| 273 |
+
"ipytree 0.2.2\n",
|
| 274 |
+
"ipywidgets 7.7.1\n",
|
| 275 |
+
"itsdangerous 2.1.2\n",
|
| 276 |
+
"jax 0.4.20\n",
|
| 277 |
+
"jaxlib 0.4.20+cuda11.cudnn86\n",
|
| 278 |
+
"jeepney 0.7.1\n",
|
| 279 |
+
"jieba 0.42.1\n",
|
| 280 |
+
"Jinja2 3.1.2\n",
|
| 281 |
+
"joblib 1.3.2\n",
|
| 282 |
+
"jsonpickle 3.0.2\n",
|
| 283 |
+
"jsonschema 4.19.2\n",
|
| 284 |
+
"jsonschema-specifications 2023.11.2\n",
|
| 285 |
+
"jupyter-client 6.1.12\n",
|
| 286 |
+
"jupyter-console 6.1.0\n",
|
| 287 |
+
"jupyter_core 5.5.0\n",
|
| 288 |
+
"jupyter-server 1.24.0\n",
|
| 289 |
+
"jupyterlab_pygments 0.3.0\n",
|
| 290 |
+
"jupyterlab-widgets 3.0.9\n",
|
| 291 |
+
"kaggle 1.5.16\n",
|
| 292 |
+
"keras 2.14.0\n",
|
| 293 |
+
"keyring 23.5.0\n",
|
| 294 |
+
"kiwisolver 1.4.5\n",
|
| 295 |
+
"langcodes 3.3.0\n",
|
| 296 |
+
"launchpadlib 1.10.16\n",
|
| 297 |
+
"lazr.restfulclient 0.14.4\n",
|
| 298 |
+
"lazr.uri 1.0.6\n",
|
| 299 |
+
"lazy_loader 0.3\n",
|
| 300 |
+
"libclang 16.0.6\n",
|
| 301 |
+
"librosa 0.10.1\n",
|
| 302 |
+
"lida 0.0.10\n",
|
| 303 |
+
"lightgbm 4.1.0\n",
|
| 304 |
+
"linkify-it-py 2.0.2\n",
|
| 305 |
+
"llmx 0.0.15a0\n",
|
| 306 |
+
"llvmlite 0.41.1\n",
|
| 307 |
+
"locket 1.0.0\n",
|
| 308 |
+
"logical-unification 0.4.6\n",
|
| 309 |
+
"lxml 4.9.3\n",
|
| 310 |
+
"malloy 2023.1064\n",
|
| 311 |
+
"Markdown 3.5.1\n",
|
| 312 |
+
"markdown-it-py 3.0.0\n",
|
| 313 |
+
"MarkupSafe 2.1.3\n",
|
| 314 |
+
"matplotlib 3.7.1\n",
|
| 315 |
+
"matplotlib-inline 0.1.6\n",
|
| 316 |
+
"matplotlib-venn 0.11.9\n",
|
| 317 |
+
"mdit-py-plugins 0.4.0\n",
|
| 318 |
+
"mdurl 0.1.2\n",
|
| 319 |
+
"miniKanren 1.0.3\n",
|
| 320 |
+
"missingno 0.5.2\n",
|
| 321 |
+
"mistune 0.8.4\n",
|
| 322 |
+
"mizani 0.9.3\n",
|
| 323 |
+
"mkl 2023.2.0\n",
|
| 324 |
+
"ml-dtypes 0.2.0\n",
|
| 325 |
+
"mlxtend 0.22.0\n",
|
| 326 |
+
"more-itertools 10.1.0\n",
|
| 327 |
+
"moviepy 1.0.3\n",
|
| 328 |
+
"mpmath 1.3.0\n",
|
| 329 |
+
"msgpack 1.0.7\n",
|
| 330 |
+
"multidict 6.0.4\n",
|
| 331 |
+
"multipledispatch 1.0.0\n",
|
| 332 |
+
"multitasking 0.0.11\n",
|
| 333 |
+
"murmurhash 1.0.10\n",
|
| 334 |
+
"music21 9.1.0\n",
|
| 335 |
+
"natsort 8.4.0\n",
|
| 336 |
+
"nbclassic 1.0.0\n",
|
| 337 |
+
"nbclient 0.9.0\n",
|
| 338 |
+
"nbconvert 6.5.4\n",
|
| 339 |
+
"nbformat 5.9.2\n",
|
| 340 |
+
"nest-asyncio 1.5.8\n",
|
| 341 |
+
"networkx 3.2.1\n",
|
| 342 |
+
"nibabel 4.0.2\n",
|
| 343 |
+
"nltk 3.8.1\n",
|
| 344 |
+
"notebook 6.5.5\n",
|
| 345 |
+
"notebook_shim 0.2.3\n",
|
| 346 |
+
"numba 0.58.1\n",
|
| 347 |
+
"numexpr 2.8.7\n",
|
| 348 |
+
"numpy 1.23.5\n",
|
| 349 |
+
"oauth2client 4.1.3\n",
|
| 350 |
+
"oauthlib 3.2.2\n",
|
| 351 |
+
"opencv-contrib-python 4.8.0.76\n",
|
| 352 |
+
"opencv-python 4.8.0.76\n",
|
| 353 |
+
"opencv-python-headless 4.8.1.78\n",
|
| 354 |
+
"openpyxl 3.1.2\n",
|
| 355 |
+
"opt-einsum 3.3.0\n",
|
| 356 |
+
"optax 0.1.7\n",
|
| 357 |
+
"orbax-checkpoint 0.4.3\n",
|
| 358 |
+
"osqp 0.6.2.post8\n",
|
| 359 |
+
"packaging 23.2\n",
|
| 360 |
+
"pandas 1.5.3\n",
|
| 361 |
+
"pandas-datareader 0.10.0\n",
|
| 362 |
+
"pandas-gbq 0.17.9\n",
|
| 363 |
+
"pandas-stubs 1.5.3.230304\n",
|
| 364 |
+
"pandocfilters 1.5.0\n",
|
| 365 |
+
"panel 1.3.4\n",
|
| 366 |
+
"param 2.0.1\n",
|
| 367 |
+
"parso 0.8.3\n",
|
| 368 |
+
"parsy 2.1\n",
|
| 369 |
+
"partd 1.4.1\n",
|
| 370 |
+
"pathlib 1.0.1\n",
|
| 371 |
+
"pathy 0.10.3\n",
|
| 372 |
+
"patsy 0.5.3\n",
|
| 373 |
+
"peewee 3.17.0\n",
|
| 374 |
+
"pexpect 4.9.0\n",
|
| 375 |
+
"pickleshare 0.7.5\n",
|
| 376 |
+
"Pillow 9.4.0\n",
|
| 377 |
+
"pip 23.1.2\n",
|
| 378 |
+
"pip-tools 6.13.0\n",
|
| 379 |
+
"platformdirs 4.0.0\n",
|
| 380 |
+
"plotly 5.15.0\n",
|
| 381 |
+
"plotnine 0.12.4\n",
|
| 382 |
+
"pluggy 1.3.0\n",
|
| 383 |
+
"polars 0.17.3\n",
|
| 384 |
+
"pooch 1.8.0\n",
|
| 385 |
+
"portpicker 1.5.2\n",
|
| 386 |
+
"prefetch-generator 1.0.3\n",
|
| 387 |
+
"preshed 3.0.9\n",
|
| 388 |
+
"prettytable 3.9.0\n",
|
| 389 |
+
"proglog 0.1.10\n",
|
| 390 |
+
"progressbar2 4.2.0\n",
|
| 391 |
+
"prometheus-client 0.19.0\n",
|
| 392 |
+
"promise 2.3\n",
|
| 393 |
+
"prompt-toolkit 3.0.41\n",
|
| 394 |
+
"prophet 1.1.5\n",
|
| 395 |
+
"proto-plus 1.22.3\n",
|
| 396 |
+
"protobuf 3.20.3\n",
|
| 397 |
+
"psutil 5.9.5\n",
|
| 398 |
+
"psycopg2 2.9.9\n",
|
| 399 |
+
"ptyprocess 0.7.0\n",
|
| 400 |
+
"py-cpuinfo 9.0.0\n",
|
| 401 |
+
"py4j 0.10.9.7\n",
|
| 402 |
+
"pyarrow 9.0.0\n",
|
| 403 |
+
"pyasn1 0.5.1\n",
|
| 404 |
+
"pyasn1-modules 0.3.0\n",
|
| 405 |
+
"pycocotools 2.0.7\n",
|
| 406 |
+
"pycparser 2.21\n",
|
| 407 |
+
"pyct 0.5.0\n",
|
| 408 |
+
"pydantic 1.10.13\n",
|
| 409 |
+
"pydata-google-auth 1.8.2\n",
|
| 410 |
+
"pydot 1.4.2\n",
|
| 411 |
+
"pydot-ng 2.0.0\n",
|
| 412 |
+
"pydotplus 2.0.2\n",
|
| 413 |
+
"PyDrive 1.3.1\n",
|
| 414 |
+
"PyDrive2 1.6.3\n",
|
| 415 |
+
"pyerfa 2.0.1.1\n",
|
| 416 |
+
"pygame 2.5.2\n",
|
| 417 |
+
"Pygments 2.16.1\n",
|
| 418 |
+
"PyGObject 3.42.1\n",
|
| 419 |
+
"PyJWT 2.3.0\n",
|
| 420 |
+
"pymc 5.7.2\n",
|
| 421 |
+
"pymystem3 0.2.0\n",
|
| 422 |
+
"PyOpenGL 3.1.7\n",
|
| 423 |
+
"pyOpenSSL 23.3.0\n",
|
| 424 |
+
"pyparsing 3.1.1\n",
|
| 425 |
+
"pyperclip 1.8.2\n",
|
| 426 |
+
"pyproj 3.6.1\n",
|
| 427 |
+
"pyproject_hooks 1.0.0\n",
|
| 428 |
+
"pyshp 2.3.1\n",
|
| 429 |
+
"PySocks 1.7.1\n",
|
| 430 |
+
"pytensor 2.14.2\n",
|
| 431 |
+
"pytest 7.4.3\n",
|
| 432 |
+
"python-apt 0.0.0\n",
|
| 433 |
+
"python-box 7.1.1\n",
|
| 434 |
+
"python-dateutil 2.8.2\n",
|
| 435 |
+
"python-louvain 0.16\n",
|
| 436 |
+
"python-slugify 8.0.1\n",
|
| 437 |
+
"python-utils 3.8.1\n",
|
| 438 |
+
"pytz 2023.3.post1\n",
|
| 439 |
+
"pyviz_comms 3.0.0\n",
|
| 440 |
+
"PyWavelets 1.5.0\n",
|
| 441 |
+
"PyYAML 6.0.1\n",
|
| 442 |
+
"pyzmq 23.2.1\n",
|
| 443 |
+
"qdldl 0.1.7.post0\n",
|
| 444 |
+
"qudida 0.0.4\n",
|
| 445 |
+
"ratelim 0.1.6\n",
|
| 446 |
+
"referencing 0.31.1\n",
|
| 447 |
+
"regex 2023.6.3\n",
|
| 448 |
+
"requests 2.31.0\n",
|
| 449 |
+
"requests-oauthlib 1.3.1\n",
|
| 450 |
+
"requirements-parser 0.5.0\n",
|
| 451 |
+
"rich 13.7.0\n",
|
| 452 |
+
"rpds-py 0.13.2\n",
|
| 453 |
+
"rpy2 3.4.2\n",
|
| 454 |
+
"rsa 4.9\n",
|
| 455 |
+
"safetensors 0.4.1\n",
|
| 456 |
+
"scikit-image 0.19.3\n",
|
| 457 |
+
"scikit-learn 1.2.2\n",
|
| 458 |
+
"scipy 1.11.4\n",
|
| 459 |
+
"scooby 0.9.2\n",
|
| 460 |
+
"scs 3.2.4.post1\n",
|
| 461 |
+
"seaborn 0.12.2\n",
|
| 462 |
+
"SecretStorage 3.3.1\n",
|
| 463 |
+
"Send2Trash 1.8.2\n",
|
| 464 |
+
"setuptools 67.7.2\n",
|
| 465 |
+
"shapely 2.0.2\n",
|
| 466 |
+
"six 1.16.0\n",
|
| 467 |
+
"sklearn-pandas 2.2.0\n",
|
| 468 |
+
"smart-open 6.4.0\n",
|
| 469 |
+
"sniffio 1.3.0\n",
|
| 470 |
+
"snowballstemmer 2.2.0\n",
|
| 471 |
+
"sortedcontainers 2.4.0\n",
|
| 472 |
+
"soundfile 0.12.1\n",
|
| 473 |
+
"soupsieve 2.5\n",
|
| 474 |
+
"soxr 0.3.7\n",
|
| 475 |
+
"spacy 3.6.1\n",
|
| 476 |
+
"spacy-legacy 3.0.12\n",
|
| 477 |
+
"spacy-loggers 1.0.5\n",
|
| 478 |
+
"Sphinx 5.0.2\n",
|
| 479 |
+
"sphinxcontrib-applehelp 1.0.7\n",
|
| 480 |
+
"sphinxcontrib-devhelp 1.0.5\n",
|
| 481 |
+
"sphinxcontrib-htmlhelp 2.0.4\n",
|
| 482 |
+
"sphinxcontrib-jsmath 1.0.1\n",
|
| 483 |
+
"sphinxcontrib-qthelp 1.0.6\n",
|
| 484 |
+
"sphinxcontrib-serializinghtml 1.1.9\n",
|
| 485 |
+
"SQLAlchemy 2.0.23\n",
|
| 486 |
+
"sqlglot 17.16.2\n",
|
| 487 |
+
"sqlparse 0.4.4\n",
|
| 488 |
+
"srsly 2.4.8\n",
|
| 489 |
+
"stanio 0.3.0\n",
|
| 490 |
+
"statsmodels 0.14.0\n",
|
| 491 |
+
"sympy 1.12\n",
|
| 492 |
+
"tables 3.8.0\n",
|
| 493 |
+
"tabulate 0.9.0\n",
|
| 494 |
+
"tbb 2021.11.0\n",
|
| 495 |
+
"tblib 3.0.0\n",
|
| 496 |
+
"tenacity 8.2.3\n",
|
| 497 |
+
"tensorboard 2.14.1\n",
|
| 498 |
+
"tensorboard-data-server 0.7.2\n",
|
| 499 |
+
"tensorflow 2.14.0\n",
|
| 500 |
+
"tensorflow-datasets 4.9.3\n",
|
| 501 |
+
"tensorflow-estimator 2.14.0\n",
|
| 502 |
+
"tensorflow-gcs-config 2.14.0\n",
|
| 503 |
+
"tensorflow-hub 0.15.0\n",
|
| 504 |
+
"tensorflow-io-gcs-filesystem 0.34.0\n",
|
| 505 |
+
"tensorflow-metadata 1.14.0\n",
|
| 506 |
+
"tensorflow-probability 0.22.0\n",
|
| 507 |
+
"tensorstore 0.1.45\n",
|
| 508 |
+
"termcolor 2.3.0\n",
|
| 509 |
+
"terminado 0.18.0\n",
|
| 510 |
+
"text-unidecode 1.3\n",
|
| 511 |
+
"textblob 0.17.1\n",
|
| 512 |
+
"tf-slim 1.1.0\n",
|
| 513 |
+
"thinc 8.1.12\n",
|
| 514 |
+
"threadpoolctl 3.2.0\n",
|
| 515 |
+
"tifffile 2023.9.26\n",
|
| 516 |
+
"tinycss2 1.2.1\n",
|
| 517 |
+
"tokenizers 0.15.0\n",
|
| 518 |
+
"toml 0.10.2\n",
|
| 519 |
+
"tomli 2.0.1\n",
|
| 520 |
+
"toolz 0.12.0\n",
|
| 521 |
+
"torch 2.1.0+cu118\n",
|
| 522 |
+
"torchaudio 2.1.0+cu118\n",
|
| 523 |
+
"torchdata 0.7.0\n",
|
| 524 |
+
"torchsummary 1.5.1\n",
|
| 525 |
+
"torchtext 0.16.0\n",
|
| 526 |
+
"torchvision 0.16.0+cu118\n",
|
| 527 |
+
"tornado 6.3.2\n",
|
| 528 |
+
"tqdm 4.66.1\n",
|
| 529 |
+
"traitlets 5.7.1\n",
|
| 530 |
+
"traittypes 0.2.1\n",
|
| 531 |
+
"transformers 4.35.2\n",
|
| 532 |
+
"triton 2.1.0\n",
|
| 533 |
+
"tweepy 4.14.0\n",
|
| 534 |
+
"typer 0.9.0\n",
|
| 535 |
+
"types-pytz 2023.3.1.1\n",
|
| 536 |
+
"types-setuptools 69.0.0.0\n",
|
| 537 |
+
"typing_extensions 4.5.0\n",
|
| 538 |
+
"tzlocal 5.2\n",
|
| 539 |
+
"uc-micro-py 1.0.2\n",
|
| 540 |
+
"uritemplate 4.1.1\n",
|
| 541 |
+
"urllib3 2.0.7\n",
|
| 542 |
+
"vega-datasets 0.9.0\n",
|
| 543 |
+
"wadllib 1.3.6\n",
|
| 544 |
+
"wasabi 1.1.2\n",
|
| 545 |
+
"wcwidth 0.2.12\n",
|
| 546 |
+
"webcolors 1.13\n",
|
| 547 |
+
"webencodings 0.5.1\n",
|
| 548 |
+
"websocket-client 1.6.4\n",
|
| 549 |
+
"Werkzeug 3.0.1\n",
|
| 550 |
+
"wheel 0.42.0\n",
|
| 551 |
+
"widgetsnbextension 3.6.6\n",
|
| 552 |
+
"wordcloud 1.9.2\n",
|
| 553 |
+
"wrapt 1.14.1\n",
|
| 554 |
+
"xarray 2023.7.0\n",
|
| 555 |
+
"xarray-einstats 0.6.0\n",
|
| 556 |
+
"xgboost 2.0.2\n",
|
| 557 |
+
"xlrd 2.0.1\n",
|
| 558 |
+
"xxhash 3.4.1\n",
|
| 559 |
+
"xyzservices 2023.10.1\n",
|
| 560 |
+
"yarl 1.9.3\n",
|
| 561 |
+
"yellowbrick 1.5\n",
|
| 562 |
+
"yfinance 0.2.32\n",
|
| 563 |
+
"zict 3.0.0\n",
|
| 564 |
+
"zipp 3.17.0\n"
|
| 565 |
+
]
|
| 566 |
+
}
|
| 567 |
+
],
|
| 568 |
+
"source": [
|
| 569 |
+
"!pip list"
|
| 570 |
+
]
|
| 571 |
+
},
|
| 572 |
+
{
|
| 573 |
+
"cell_type": "code",
|
| 574 |
+
"execution_count": 5,
|
| 575 |
+
"metadata": {
|
| 576 |
+
"colab": {
|
| 577 |
+
"base_uri": "https://localhost:8080/"
|
| 578 |
+
},
|
| 579 |
+
"id": "ViS2sA21qUGZ",
|
| 580 |
+
"outputId": "9865ece2-bde2-40ae-806c-31f184683a86"
|
| 581 |
+
},
|
| 582 |
+
"outputs": [
|
| 583 |
+
{
|
| 584 |
+
"name": "stdout",
|
| 585 |
+
"output_type": "stream",
|
| 586 |
+
"text": [
|
| 587 |
+
"Requirement already satisfied: Flask in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 1)) (2.2.5)\n",
|
| 588 |
+
"Collecting pyngrok==4.1.1 (from -r requirements.txt (line 2))\n",
|
| 589 |
+
" Downloading pyngrok-4.1.1.tar.gz (18 kB)\n",
|
| 590 |
+
" Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
|
| 591 |
+
"Collecting flask_ngrok (from -r requirements.txt (line 3))\n",
|
| 592 |
+
" Downloading flask_ngrok-0.0.25-py3-none-any.whl (3.1 kB)\n",
|
| 593 |
+
"Requirement already satisfied: tensorflow in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 4)) (2.14.0)\n",
|
| 594 |
+
"Requirement already satisfied: future in /usr/local/lib/python3.10/dist-packages (from pyngrok==4.1.1->-r requirements.txt (line 2)) (0.18.3)\n",
|
| 595 |
+
"Requirement already satisfied: PyYAML in /usr/local/lib/python3.10/dist-packages (from pyngrok==4.1.1->-r requirements.txt (line 2)) (6.0.1)\n",
|
| 596 |
+
"Requirement already satisfied: Werkzeug>=2.2.2 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (3.0.1)\n",
|
| 597 |
+
"Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (3.1.2)\n",
|
| 598 |
+
"Requirement already satisfied: itsdangerous>=2.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (2.1.2)\n",
|
| 599 |
+
"Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from Flask->-r requirements.txt (line 1)) (8.1.7)\n",
|
| 600 |
+
"Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from flask_ngrok->-r requirements.txt (line 3)) (2.31.0)\n",
|
| 601 |
+
"Requirement already satisfied: absl-py>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.4.0)\n",
|
| 602 |
+
"Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.6.3)\n",
|
| 603 |
+
"Requirement already satisfied: flatbuffers>=23.5.26 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (23.5.26)\n",
|
| 604 |
+
"Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (0.5.4)\n",
|
| 605 |
+
"Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (0.2.0)\n",
|
| 606 |
+
"Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (3.9.0)\n",
|
| 607 |
+
"Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (16.0.6)\n",
|
| 608 |
+
"Requirement already satisfied: ml-dtypes==0.2.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (0.2.0)\n",
|
| 609 |
+
"Requirement already satisfied: numpy>=1.23.5 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.23.5)\n",
|
| 610 |
+
"Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (3.3.0)\n",
|
| 611 |
+
"Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (23.2)\n",
|
| 612 |
+
"Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (3.20.3)\n",
|
| 613 |
+
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (67.7.2)\n",
|
| 614 |
+
"Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.16.0)\n",
|
| 615 |
+
"Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (2.3.0)\n",
|
| 616 |
+
"Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (4.5.0)\n",
|
| 617 |
+
"Requirement already satisfied: wrapt<1.15,>=1.11.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.14.1)\n",
|
| 618 |
+
"Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (0.34.0)\n",
|
| 619 |
+
"Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (1.59.3)\n",
|
| 620 |
+
"Requirement already satisfied: tensorboard<2.15,>=2.14 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (2.14.1)\n",
|
| 621 |
+
"Requirement already satisfied: tensorflow-estimator<2.15,>=2.14.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (2.14.0)\n",
|
| 622 |
+
"Requirement already satisfied: keras<2.15,>=2.14.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow->-r requirements.txt (line 4)) (2.14.0)\n",
|
| 623 |
+
"Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from astunparse>=1.6.0->tensorflow->-r requirements.txt (line 4)) (0.42.0)\n",
|
| 624 |
+
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from Jinja2>=3.0->Flask->-r requirements.txt (line 1)) (2.1.3)\n",
|
| 625 |
+
"Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (2.17.3)\n",
|
| 626 |
+
"Requirement already satisfied: google-auth-oauthlib<1.1,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (1.0.0)\n",
|
| 627 |
+
"Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (3.5.1)\n",
|
| 628 |
+
"Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (0.7.2)\n",
|
| 629 |
+
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->flask_ngrok->-r requirements.txt (line 3)) (3.3.2)\n",
|
| 630 |
+
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->flask_ngrok->-r requirements.txt (line 3)) (3.6)\n",
|
| 631 |
+
"Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->flask_ngrok->-r requirements.txt (line 3)) (2.0.7)\n",
|
| 632 |
+
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->flask_ngrok->-r requirements.txt (line 3)) (2023.11.17)\n",
|
| 633 |
+
"Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (5.3.2)\n",
|
| 634 |
+
"Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (0.3.0)\n",
|
| 635 |
+
"Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (4.9)\n",
|
| 636 |
+
"Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<1.1,>=0.5->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (1.3.1)\n",
|
| 637 |
+
"Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (0.5.1)\n",
|
| 638 |
+
"Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<1.1,>=0.5->tensorboard<2.15,>=2.14->tensorflow->-r requirements.txt (line 4)) (3.2.2)\n",
|
| 639 |
+
"Building wheels for collected packages: pyngrok\n",
|
| 640 |
+
" Building wheel for pyngrok (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
|
| 641 |
+
" Created wheel for pyngrok: filename=pyngrok-4.1.1-py3-none-any.whl size=15963 sha256=f1fdb848b9c877e12c25942bc8b676adaeb7a2a73cfc9cce746a805d2dc938be\n",
|
| 642 |
+
" Stored in directory: /root/.cache/pip/wheels/4c/7c/4c/632fba2ea8e88d8890102eb07bc922e1ca8fa14db5902c91a8\n",
|
| 643 |
+
"Successfully built pyngrok\n",
|
| 644 |
+
"Installing collected packages: pyngrok, flask_ngrok\n",
|
| 645 |
+
"Successfully installed flask_ngrok-0.0.25 pyngrok-4.1.1\n"
|
| 646 |
+
]
|
| 647 |
+
}
|
| 648 |
+
],
|
| 649 |
+
"source": [
|
| 650 |
+
"!pip install -r requirements.txt"
|
| 651 |
+
]
|
| 652 |
+
},
|
| 653 |
+
{
|
| 654 |
+
"cell_type": "code",
|
| 655 |
+
"execution_count": 6,
|
| 656 |
+
"metadata": {
|
| 657 |
+
"colab": {
|
| 658 |
+
"base_uri": "https://localhost:8080/"
|
| 659 |
+
},
|
| 660 |
+
"id": "aTtizNvdqVth",
|
| 661 |
+
"outputId": "7e8dc2ae-553e-4511-d6fb-b8114ee2fe3d"
|
| 662 |
+
},
|
| 663 |
+
"outputs": [
|
| 664 |
+
{
|
| 665 |
+
"name": "stdout",
|
| 666 |
+
"output_type": "stream",
|
| 667 |
+
"text": [
|
| 668 |
+
"Authtoken saved to configuration file: /root/.ngrok2/ngrok.yml\n"
|
| 669 |
+
]
|
| 670 |
+
}
|
| 671 |
+
],
|
| 672 |
+
"source": [
|
| 673 |
+
"!ngrok authtoken --your--ngrok--authtoken"
|
| 674 |
+
]
|
| 675 |
+
},
|
| 676 |
+
{
|
| 677 |
+
"cell_type": "code",
|
| 678 |
+
"execution_count": 7,
|
| 679 |
+
"metadata": {
|
| 680 |
+
"colab": {
|
| 681 |
+
"base_uri": "https://localhost:8080/"
|
| 682 |
+
},
|
| 683 |
+
"id": "y-YaUs68qYEb",
|
| 684 |
+
"outputId": "87cc6ddb-c26d-404e-95e8-7f31da5c3478"
|
| 685 |
+
},
|
| 686 |
+
"outputs": [
|
| 687 |
+
{
|
| 688 |
+
"name": "stdout",
|
| 689 |
+
"output_type": "stream",
|
| 690 |
+
"text": [
|
| 691 |
+
"2023-12-06 15:20:46.739778: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
|
| 692 |
+
"2023-12-06 15:20:46.739855: E tensorflow/compiler/xla/stream_executor/cuda/cuda_fft.cc:609] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
|
| 693 |
+
"2023-12-06 15:20:46.739894: E tensorflow/compiler/xla/stream_executor/cuda/cuda_blas.cc:1518] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
|
| 694 |
+
"2023-12-06 15:20:46.748309: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
|
| 695 |
+
"To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
|
| 696 |
+
"2023-12-06 15:20:48.188419: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n",
|
| 697 |
+
"WARNING:tensorflow:From /usr/local/lib/python3.10/dist-packages/tensorflow/python/compat/v2_compat.py:108: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.\n",
|
| 698 |
+
"Instructions for updating:\n",
|
| 699 |
+
"non-resource variables are not supported in the long term\n",
|
| 700 |
+
" * Serving Flask app 'main'\n",
|
| 701 |
+
" * Debug mode: off\n",
|
| 702 |
+
"\u001b[31m\u001b[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\u001b[0m\n",
|
| 703 |
+
" * Running on http://127.0.0.1:5000\n",
|
| 704 |
+
"\u001b[33mPress CTRL+C to quit\u001b[0m\n",
|
| 705 |
+
" * Running on http://b902-35-245-203-162.ngrok-free.app\n",
|
| 706 |
+
" * Traffic stats available on http://127.0.0.1:4040\n",
|
| 707 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:57] \"GET / HTTP/1.1\" 200 -\n",
|
| 708 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:58] \"GET /static/setup/tomato_image.jpeg HTTP/1.1\" 200 -\n",
|
| 709 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:58] \"GET /static/setup/logo.png HTTP/1.1\" 200 -\n",
|
| 710 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:58] \"GET /static/setup/sugarcane_image.jpeg HTTP/1.1\" 200 -\n",
|
| 711 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:59] \"GET /static/setup/cotton_image.jpeg HTTP/1.1\" 200 -\n",
|
| 712 |
+
"127.0.0.1 - - [06/Dec/2023 15:20:59] \"\u001b[33mGET /favicon.ico HTTP/1.1\u001b[0m\" 404 -\n",
|
| 713 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:03] \"GET /cropmodel/?modelname=sugarcanemodel HTTP/1.1\" 200 -\n",
|
| 714 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:04] \"\u001b[36mGET /static/setup/logo.png HTTP/1.1\u001b[0m\" 304 -\n",
|
| 715 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:04] \"GET /static/setup/plant.png HTTP/1.1\" 200 -\n",
|
| 716 |
+
"WARNING:tensorflow:Error in loading the saved optimizer state. As a result, your model is starting with a freshly initialized optimizer.\n",
|
| 717 |
+
"1/1 [==============================] - 0s 273ms/step\n",
|
| 718 |
+
"sugarcanemodel __ Predicted class - 0 : Bacterial Blight\n",
|
| 719 |
+
"--- result : Bacterial Blight\n",
|
| 720 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:30] \"POST /upload HTTP/1.1\" 200 -\n",
|
| 721 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:31] \"\u001b[36mGET /static/setup/logo.png HTTP/1.1\u001b[0m\" 304 -\n",
|
| 722 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:31] \"GET /static/uploaded_images/imageFile.jpeg HTTP/1.1\" 200 -\n",
|
| 723 |
+
"WARNING:tensorflow:Error in loading the saved optimizer state. As a result, your model is starting with a freshly initialized optimizer.\n",
|
| 724 |
+
"1/1 [==============================] - 0s 99ms/step\n",
|
| 725 |
+
"sugarcanemodel __ Predicted class - 1 : Healthy\n",
|
| 726 |
+
"--- result : Healthy\n",
|
| 727 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:52] \"POST /upload HTTP/1.1\" 200 -\n",
|
| 728 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:52] \"GET /static/uploaded_images/imageFile.jpeg HTTP/1.1\" 200 -\n",
|
| 729 |
+
"127.0.0.1 - - [06/Dec/2023 15:21:52] \"\u001b[36mGET /static/setup/logo.png HTTP/1.1\u001b[0m\" 304 -\n",
|
| 730 |
+
"Exception ignored in: <module 'threading' from '/usr/lib/python3.10/threading.py'>\n",
|
| 731 |
+
"Traceback (most recent call last):\n",
|
| 732 |
+
" File \"/usr/lib/python3.10/threading.py\", line 1540, in _shutdown\n",
|
| 733 |
+
" if _main_thread.ident == get_ident():\n",
|
| 734 |
+
"KeyboardInterrupt: \n"
|
| 735 |
+
]
|
| 736 |
+
}
|
| 737 |
+
],
|
| 738 |
+
"source": [
|
| 739 |
+
"!python main.py"
|
| 740 |
+
]
|
| 741 |
+
},
|
| 742 |
+
{
|
| 743 |
+
"cell_type": "code",
|
| 744 |
+
"execution_count": null,
|
| 745 |
+
"metadata": {
|
| 746 |
+
"colab": {
|
| 747 |
+
"base_uri": "https://localhost:8080/"
|
| 748 |
+
},
|
| 749 |
+
"id": "HV7DdzrHsFAu",
|
| 750 |
+
"outputId": "d33d37dc-0882-41c7-9da2-d59a30199ec2"
|
| 751 |
+
},
|
| 752 |
+
"outputs": [
|
| 753 |
+
{
|
| 754 |
+
"name": "stdout",
|
| 755 |
+
"output_type": "stream",
|
| 756 |
+
"text": [
|
| 757 |
+
"Package Version\n",
|
| 758 |
+
"-------------------------------- ---------------------\n",
|
| 759 |
+
"absl-py 1.4.0\n",
|
| 760 |
+
"accelerate 0.25.0\n",
|
| 761 |
+
"aiohttp 3.9.1\n",
|
| 762 |
+
"aiosignal 1.3.1\n",
|
| 763 |
+
"alabaster 0.7.13\n",
|
| 764 |
+
"albumentations 1.3.1\n",
|
| 765 |
+
"altair 4.2.2\n",
|
| 766 |
+
"anyio 3.7.1\n",
|
| 767 |
+
"appdirs 1.4.4\n",
|
| 768 |
+
"argon2-cffi 23.1.0\n",
|
| 769 |
+
"argon2-cffi-bindings 21.2.0\n",
|
| 770 |
+
"array-record 0.5.0\n",
|
| 771 |
+
"arviz 0.15.1\n",
|
| 772 |
+
"astropy 5.3.4\n",
|
| 773 |
+
"astunparse 1.6.3\n",
|
| 774 |
+
"async-timeout 4.0.3\n",
|
| 775 |
+
"atpublic 4.0\n",
|
| 776 |
+
"attrs 23.1.0\n",
|
| 777 |
+
"audioread 3.0.1\n",
|
| 778 |
+
"autograd 1.6.2\n",
|
| 779 |
+
"Babel 2.13.1\n",
|
| 780 |
+
"backcall 0.2.0\n",
|
| 781 |
+
"beautifulsoup4 4.11.2\n",
|
| 782 |
+
"bidict 0.22.1\n",
|
| 783 |
+
"bigframes 0.15.0\n",
|
| 784 |
+
"bleach 6.1.0\n",
|
| 785 |
+
"blinker 1.4\n",
|
| 786 |
+
"blis 0.7.11\n",
|
| 787 |
+
"blosc2 2.0.0\n",
|
| 788 |
+
"bokeh 3.3.1\n",
|
| 789 |
+
"bqplot 0.12.42\n",
|
| 790 |
+
"branca 0.7.0\n",
|
| 791 |
+
"build 1.0.3\n",
|
| 792 |
+
"CacheControl 0.13.1\n",
|
| 793 |
+
"cachetools 5.3.2\n",
|
| 794 |
+
"catalogue 2.0.10\n",
|
| 795 |
+
"certifi 2023.11.17\n",
|
| 796 |
+
"cffi 1.16.0\n",
|
| 797 |
+
"chardet 5.2.0\n",
|
| 798 |
+
"charset-normalizer 3.3.2\n",
|
| 799 |
+
"chex 0.1.7\n",
|
| 800 |
+
"click 8.1.7\n",
|
| 801 |
+
"click-plugins 1.1.1\n",
|
| 802 |
+
"cligj 0.7.2\n",
|
| 803 |
+
"cloudpickle 2.2.1\n",
|
| 804 |
+
"cmake 3.27.7\n",
|
| 805 |
+
"cmdstanpy 1.2.0\n",
|
| 806 |
+
"colorcet 3.0.1\n",
|
| 807 |
+
"colorlover 0.3.0\n",
|
| 808 |
+
"colour 0.1.5\n",
|
| 809 |
+
"community 1.0.0b1\n",
|
| 810 |
+
"confection 0.1.4\n",
|
| 811 |
+
"cons 0.4.6\n",
|
| 812 |
+
"contextlib2 21.6.0\n",
|
| 813 |
+
"contourpy 1.2.0\n",
|
| 814 |
+
"cryptography 41.0.7\n",
|
| 815 |
+
"cufflinks 0.17.3\n",
|
| 816 |
+
"cupy-cuda11x 11.0.0\n",
|
| 817 |
+
"cvxopt 1.3.2\n",
|
| 818 |
+
"cvxpy 1.3.2\n",
|
| 819 |
+
"cycler 0.12.1\n",
|
| 820 |
+
"cymem 2.0.8\n",
|
| 821 |
+
"Cython 3.0.6\n",
|
| 822 |
+
"dask 2023.8.1\n",
|
| 823 |
+
"datascience 0.17.6\n",
|
| 824 |
+
"db-dtypes 1.1.1\n",
|
| 825 |
+
"dbus-python 1.2.18\n",
|
| 826 |
+
"debugpy 1.6.6\n",
|
| 827 |
+
"decorator 4.4.2\n",
|
| 828 |
+
"defusedxml 0.7.1\n",
|
| 829 |
+
"diffusers 0.10.2\n",
|
| 830 |
+
"diskcache 5.6.3\n",
|
| 831 |
+
"distributed 2023.8.1\n",
|
| 832 |
+
"distro 1.7.0\n",
|
| 833 |
+
"dlib 19.24.2\n",
|
| 834 |
+
"dm-tree 0.1.8\n",
|
| 835 |
+
"docutils 0.18.1\n",
|
| 836 |
+
"dopamine-rl 4.0.6\n",
|
| 837 |
+
"duckdb 0.9.2\n",
|
| 838 |
+
"earthengine-api 0.1.381\n",
|
| 839 |
+
"easydict 1.11\n",
|
| 840 |
+
"ecos 2.0.12\n",
|
| 841 |
+
"editdistance 0.6.2\n",
|
| 842 |
+
"eerepr 0.0.4\n",
|
| 843 |
+
"en-core-web-sm 3.6.0\n",
|
| 844 |
+
"entrypoints 0.4\n",
|
| 845 |
+
"et-xmlfile 1.1.0\n",
|
| 846 |
+
"etils 1.5.2\n",
|
| 847 |
+
"etuples 0.3.9\n",
|
| 848 |
+
"exceptiongroup 1.2.0\n",
|
| 849 |
+
"fastai 2.7.13\n",
|
| 850 |
+
"fastcore 1.5.29\n",
|
| 851 |
+
"fastdownload 0.0.7\n",
|
| 852 |
+
"fastjsonschema 2.19.0\n",
|
| 853 |
+
"fastprogress 1.0.3\n",
|
| 854 |
+
"fastrlock 0.8.2\n",
|
| 855 |
+
"filelock 3.13.1\n",
|
| 856 |
+
"fiona 1.9.5\n",
|
| 857 |
+
"firebase-admin 5.3.0\n",
|
| 858 |
+
"Flask 2.2.5\n",
|
| 859 |
+
"flask-ngrok 0.0.25\n",
|
| 860 |
+
"flatbuffers 23.5.26\n",
|
| 861 |
+
"flax 0.7.5\n",
|
| 862 |
+
"folium 0.14.0\n",
|
| 863 |
+
"fonttools 4.45.1\n",
|
| 864 |
+
"frozendict 2.3.10\n",
|
| 865 |
+
"frozenlist 1.4.0\n",
|
| 866 |
+
"fsspec 2023.6.0\n",
|
| 867 |
+
"ftfy 6.1.3\n",
|
| 868 |
+
"future 0.18.3\n",
|
| 869 |
+
"gast 0.5.4\n",
|
| 870 |
+
"gcsfs 2023.6.0\n",
|
| 871 |
+
"GDAL 3.4.3\n",
|
| 872 |
+
"gdown 4.6.6\n",
|
| 873 |
+
"geemap 0.28.2\n",
|
| 874 |
+
"gensim 4.3.2\n",
|
| 875 |
+
"geocoder 1.38.1\n",
|
| 876 |
+
"geographiclib 2.0\n",
|
| 877 |
+
"geopandas 0.13.2\n",
|
| 878 |
+
"geopy 2.3.0\n",
|
| 879 |
+
"gin-config 0.5.0\n",
|
| 880 |
+
"glob2 0.7\n",
|
| 881 |
+
"google 2.0.3\n",
|
| 882 |
+
"google-ai-generativelanguage 0.3.3\n",
|
| 883 |
+
"google-api-core 2.11.1\n",
|
| 884 |
+
"google-api-python-client 2.84.0\n",
|
| 885 |
+
"google-auth 2.17.3\n",
|
| 886 |
+
"google-auth-httplib2 0.1.1\n",
|
| 887 |
+
"google-auth-oauthlib 1.0.0\n",
|
| 888 |
+
"google-cloud-aiplatform 1.36.4\n",
|
| 889 |
+
"google-cloud-bigquery 3.12.0\n",
|
| 890 |
+
"google-cloud-bigquery-connection 1.12.1\n",
|
| 891 |
+
"google-cloud-bigquery-storage 2.23.0\n",
|
| 892 |
+
"google-cloud-core 2.3.3\n",
|
| 893 |
+
"google-cloud-datastore 2.15.2\n",
|
| 894 |
+
"google-cloud-firestore 2.11.1\n",
|
| 895 |
+
"google-cloud-functions 1.13.3\n",
|
| 896 |
+
"google-cloud-iam 2.12.2\n",
|
| 897 |
+
"google-cloud-language 2.9.1\n",
|
| 898 |
+
"google-cloud-resource-manager 1.10.4\n",
|
| 899 |
+
"google-cloud-storage 2.8.0\n",
|
| 900 |
+
"google-cloud-translate 3.11.3\n",
|
| 901 |
+
"google-colab 1.0.0\n",
|
| 902 |
+
"google-crc32c 1.5.0\n",
|
| 903 |
+
"google-generativeai 0.2.2\n",
|
| 904 |
+
"google-pasta 0.2.0\n",
|
| 905 |
+
"google-resumable-media 2.6.0\n",
|
| 906 |
+
"googleapis-common-protos 1.61.0\n",
|
| 907 |
+
"googledrivedownloader 0.4\n",
|
| 908 |
+
"graphviz 0.20.1\n",
|
| 909 |
+
"greenlet 3.0.1\n",
|
| 910 |
+
"grpc-google-iam-v1 0.12.7\n",
|
| 911 |
+
"grpcio 1.59.3\n",
|
| 912 |
+
"grpcio-status 1.48.2\n",
|
| 913 |
+
"gspread 3.4.2\n",
|
| 914 |
+
"gspread-dataframe 3.3.1\n",
|
| 915 |
+
"gym 0.25.2\n",
|
| 916 |
+
"gym-notices 0.0.8\n",
|
| 917 |
+
"h5netcdf 1.3.0\n",
|
| 918 |
+
"h5py 3.9.0\n",
|
| 919 |
+
"holidays 0.37\n",
|
| 920 |
+
"holoviews 1.17.1\n",
|
| 921 |
+
"html5lib 1.1\n",
|
| 922 |
+
"httpimport 1.3.1\n",
|
| 923 |
+
"httplib2 0.22.0\n",
|
| 924 |
+
"huggingface-hub 0.19.4\n",
|
| 925 |
+
"humanize 4.7.0\n",
|
| 926 |
+
"hyperopt 0.2.7\n",
|
| 927 |
+
"ibis-framework 6.2.0\n",
|
| 928 |
+
"idna 3.6\n",
|
| 929 |
+
"imageio 2.31.6\n",
|
| 930 |
+
"imageio-ffmpeg 0.4.9\n",
|
| 931 |
+
"imagesize 1.4.1\n",
|
| 932 |
+
"imbalanced-learn 0.10.1\n",
|
| 933 |
+
"imgaug 0.4.0\n",
|
| 934 |
+
"importlib-metadata 6.8.0\n",
|
| 935 |
+
"importlib-resources 6.1.1\n",
|
| 936 |
+
"imutils 0.5.4\n",
|
| 937 |
+
"inflect 7.0.0\n",
|
| 938 |
+
"iniconfig 2.0.0\n",
|
| 939 |
+
"install 1.3.5\n",
|
| 940 |
+
"intel-openmp 2023.2.0\n",
|
| 941 |
+
"ipyevents 2.0.2\n",
|
| 942 |
+
"ipyfilechooser 0.6.0\n",
|
| 943 |
+
"ipykernel 5.5.6\n",
|
| 944 |
+
"ipyleaflet 0.18.0\n",
|
| 945 |
+
"ipython 7.34.0\n",
|
| 946 |
+
"ipython-genutils 0.2.0\n",
|
| 947 |
+
"ipython-sql 0.5.0\n",
|
| 948 |
+
"ipytree 0.2.2\n",
|
| 949 |
+
"ipywidgets 7.7.1\n",
|
| 950 |
+
"itsdangerous 2.1.2\n",
|
| 951 |
+
"jax 0.4.20\n",
|
| 952 |
+
"jaxlib 0.4.20+cuda11.cudnn86\n",
|
| 953 |
+
"jeepney 0.7.1\n",
|
| 954 |
+
"jieba 0.42.1\n",
|
| 955 |
+
"Jinja2 3.1.2\n",
|
| 956 |
+
"joblib 1.3.2\n",
|
| 957 |
+
"jsonpickle 3.0.2\n",
|
| 958 |
+
"jsonschema 4.19.2\n",
|
| 959 |
+
"jsonschema-specifications 2023.11.2\n",
|
| 960 |
+
"jupyter-client 6.1.12\n",
|
| 961 |
+
"jupyter-console 6.1.0\n",
|
| 962 |
+
"jupyter_core 5.5.0\n",
|
| 963 |
+
"jupyter-server 1.24.0\n",
|
| 964 |
+
"jupyterlab_pygments 0.3.0\n",
|
| 965 |
+
"jupyterlab-widgets 3.0.9\n",
|
| 966 |
+
"kaggle 1.5.16\n",
|
| 967 |
+
"keras 2.14.0\n",
|
| 968 |
+
"keyring 23.5.0\n",
|
| 969 |
+
"kiwisolver 1.4.5\n",
|
| 970 |
+
"langcodes 3.3.0\n",
|
| 971 |
+
"launchpadlib 1.10.16\n",
|
| 972 |
+
"lazr.restfulclient 0.14.4\n",
|
| 973 |
+
"lazr.uri 1.0.6\n",
|
| 974 |
+
"lazy_loader 0.3\n",
|
| 975 |
+
"libclang 16.0.6\n",
|
| 976 |
+
"librosa 0.10.1\n",
|
| 977 |
+
"lida 0.0.10\n",
|
| 978 |
+
"lightgbm 4.1.0\n",
|
| 979 |
+
"linkify-it-py 2.0.2\n",
|
| 980 |
+
"llmx 0.0.15a0\n",
|
| 981 |
+
"llvmlite 0.41.1\n",
|
| 982 |
+
"locket 1.0.0\n",
|
| 983 |
+
"logical-unification 0.4.6\n",
|
| 984 |
+
"lxml 4.9.3\n",
|
| 985 |
+
"malloy 2023.1064\n",
|
| 986 |
+
"Markdown 3.5.1\n",
|
| 987 |
+
"markdown-it-py 3.0.0\n",
|
| 988 |
+
"MarkupSafe 2.1.3\n",
|
| 989 |
+
"matplotlib 3.7.1\n",
|
| 990 |
+
"matplotlib-inline 0.1.6\n",
|
| 991 |
+
"matplotlib-venn 0.11.9\n",
|
| 992 |
+
"mdit-py-plugins 0.4.0\n",
|
| 993 |
+
"mdurl 0.1.2\n",
|
| 994 |
+
"miniKanren 1.0.3\n",
|
| 995 |
+
"missingno 0.5.2\n",
|
| 996 |
+
"mistune 0.8.4\n",
|
| 997 |
+
"mizani 0.9.3\n",
|
| 998 |
+
"mkl 2023.2.0\n",
|
| 999 |
+
"ml-dtypes 0.2.0\n",
|
| 1000 |
+
"mlxtend 0.22.0\n",
|
| 1001 |
+
"more-itertools 10.1.0\n",
|
| 1002 |
+
"moviepy 1.0.3\n",
|
| 1003 |
+
"mpmath 1.3.0\n",
|
| 1004 |
+
"msgpack 1.0.7\n",
|
| 1005 |
+
"multidict 6.0.4\n",
|
| 1006 |
+
"multipledispatch 1.0.0\n",
|
| 1007 |
+
"multitasking 0.0.11\n",
|
| 1008 |
+
"murmurhash 1.0.10\n",
|
| 1009 |
+
"music21 9.1.0\n",
|
| 1010 |
+
"natsort 8.4.0\n",
|
| 1011 |
+
"nbclassic 1.0.0\n",
|
| 1012 |
+
"nbclient 0.9.0\n",
|
| 1013 |
+
"nbconvert 6.5.4\n",
|
| 1014 |
+
"nbformat 5.9.2\n",
|
| 1015 |
+
"nest-asyncio 1.5.8\n",
|
| 1016 |
+
"networkx 3.2.1\n",
|
| 1017 |
+
"nibabel 4.0.2\n",
|
| 1018 |
+
"nltk 3.8.1\n",
|
| 1019 |
+
"notebook 6.5.5\n",
|
| 1020 |
+
"notebook_shim 0.2.3\n",
|
| 1021 |
+
"numba 0.58.1\n",
|
| 1022 |
+
"numexpr 2.8.7\n",
|
| 1023 |
+
"numpy 1.23.5\n",
|
| 1024 |
+
"oauth2client 4.1.3\n",
|
| 1025 |
+
"oauthlib 3.2.2\n",
|
| 1026 |
+
"opencv-contrib-python 4.8.0.76\n",
|
| 1027 |
+
"opencv-python 4.8.0.76\n",
|
| 1028 |
+
"opencv-python-headless 4.8.1.78\n",
|
| 1029 |
+
"openpyxl 3.1.2\n",
|
| 1030 |
+
"opt-einsum 3.3.0\n",
|
| 1031 |
+
"optax 0.1.7\n",
|
| 1032 |
+
"orbax-checkpoint 0.4.3\n",
|
| 1033 |
+
"osqp 0.6.2.post8\n",
|
| 1034 |
+
"packaging 23.2\n",
|
| 1035 |
+
"pandas 1.5.3\n",
|
| 1036 |
+
"pandas-datareader 0.10.0\n",
|
| 1037 |
+
"pandas-gbq 0.17.9\n",
|
| 1038 |
+
"pandas-stubs 1.5.3.230304\n",
|
| 1039 |
+
"pandocfilters 1.5.0\n",
|
| 1040 |
+
"panel 1.3.4\n",
|
| 1041 |
+
"param 2.0.1\n",
|
| 1042 |
+
"parso 0.8.3\n",
|
| 1043 |
+
"parsy 2.1\n",
|
| 1044 |
+
"partd 1.4.1\n",
|
| 1045 |
+
"pathlib 1.0.1\n",
|
| 1046 |
+
"pathy 0.10.3\n",
|
| 1047 |
+
"patsy 0.5.3\n",
|
| 1048 |
+
"peewee 3.17.0\n",
|
| 1049 |
+
"pexpect 4.9.0\n",
|
| 1050 |
+
"pickleshare 0.7.5\n",
|
| 1051 |
+
"Pillow 9.4.0\n",
|
| 1052 |
+
"pip 23.1.2\n",
|
| 1053 |
+
"pip-tools 6.13.0\n",
|
| 1054 |
+
"platformdirs 4.0.0\n",
|
| 1055 |
+
"plotly 5.15.0\n",
|
| 1056 |
+
"plotnine 0.12.4\n",
|
| 1057 |
+
"pluggy 1.3.0\n",
|
| 1058 |
+
"polars 0.17.3\n",
|
| 1059 |
+
"pooch 1.8.0\n",
|
| 1060 |
+
"portpicker 1.5.2\n",
|
| 1061 |
+
"prefetch-generator 1.0.3\n",
|
| 1062 |
+
"preshed 3.0.9\n",
|
| 1063 |
+
"prettytable 3.9.0\n",
|
| 1064 |
+
"proglog 0.1.10\n",
|
| 1065 |
+
"progressbar2 4.2.0\n",
|
| 1066 |
+
"prometheus-client 0.19.0\n",
|
| 1067 |
+
"promise 2.3\n",
|
| 1068 |
+
"prompt-toolkit 3.0.41\n",
|
| 1069 |
+
"prophet 1.1.5\n",
|
| 1070 |
+
"proto-plus 1.22.3\n",
|
| 1071 |
+
"protobuf 3.20.3\n",
|
| 1072 |
+
"psutil 5.9.5\n",
|
| 1073 |
+
"psycopg2 2.9.9\n",
|
| 1074 |
+
"ptyprocess 0.7.0\n",
|
| 1075 |
+
"py-cpuinfo 9.0.0\n",
|
| 1076 |
+
"py4j 0.10.9.7\n",
|
| 1077 |
+
"pyarrow 9.0.0\n",
|
| 1078 |
+
"pyasn1 0.5.1\n",
|
| 1079 |
+
"pyasn1-modules 0.3.0\n",
|
| 1080 |
+
"pycocotools 2.0.7\n",
|
| 1081 |
+
"pycparser 2.21\n",
|
| 1082 |
+
"pyct 0.5.0\n",
|
| 1083 |
+
"pydantic 1.10.13\n",
|
| 1084 |
+
"pydata-google-auth 1.8.2\n",
|
| 1085 |
+
"pydot 1.4.2\n",
|
| 1086 |
+
"pydot-ng 2.0.0\n",
|
| 1087 |
+
"pydotplus 2.0.2\n",
|
| 1088 |
+
"PyDrive 1.3.1\n",
|
| 1089 |
+
"PyDrive2 1.6.3\n",
|
| 1090 |
+
"pyerfa 2.0.1.1\n",
|
| 1091 |
+
"pygame 2.5.2\n",
|
| 1092 |
+
"Pygments 2.16.1\n",
|
| 1093 |
+
"PyGObject 3.42.1\n",
|
| 1094 |
+
"PyJWT 2.3.0\n",
|
| 1095 |
+
"pymc 5.7.2\n",
|
| 1096 |
+
"pymystem3 0.2.0\n",
|
| 1097 |
+
"pyngrok 4.1.1\n",
|
| 1098 |
+
"PyOpenGL 3.1.7\n",
|
| 1099 |
+
"pyOpenSSL 23.3.0\n",
|
| 1100 |
+
"pyparsing 3.1.1\n",
|
| 1101 |
+
"pyperclip 1.8.2\n",
|
| 1102 |
+
"pyproj 3.6.1\n",
|
| 1103 |
+
"pyproject_hooks 1.0.0\n",
|
| 1104 |
+
"pyshp 2.3.1\n",
|
| 1105 |
+
"PySocks 1.7.1\n",
|
| 1106 |
+
"pytensor 2.14.2\n",
|
| 1107 |
+
"pytest 7.4.3\n",
|
| 1108 |
+
"python-apt 0.0.0\n",
|
| 1109 |
+
"python-box 7.1.1\n",
|
| 1110 |
+
"python-dateutil 2.8.2\n",
|
| 1111 |
+
"python-louvain 0.16\n",
|
| 1112 |
+
"python-slugify 8.0.1\n",
|
| 1113 |
+
"python-utils 3.8.1\n",
|
| 1114 |
+
"pytz 2023.3.post1\n",
|
| 1115 |
+
"pyviz_comms 3.0.0\n",
|
| 1116 |
+
"PyWavelets 1.5.0\n",
|
| 1117 |
+
"PyYAML 6.0.1\n",
|
| 1118 |
+
"pyzmq 23.2.1\n",
|
| 1119 |
+
"qdldl 0.1.7.post0\n",
|
| 1120 |
+
"qudida 0.0.4\n",
|
| 1121 |
+
"ratelim 0.1.6\n",
|
| 1122 |
+
"referencing 0.31.1\n",
|
| 1123 |
+
"regex 2023.6.3\n",
|
| 1124 |
+
"requests 2.31.0\n",
|
| 1125 |
+
"requests-oauthlib 1.3.1\n",
|
| 1126 |
+
"requirements-parser 0.5.0\n",
|
| 1127 |
+
"rich 13.7.0\n",
|
| 1128 |
+
"rpds-py 0.13.2\n",
|
| 1129 |
+
"rpy2 3.4.2\n",
|
| 1130 |
+
"rsa 4.9\n",
|
| 1131 |
+
"safetensors 0.4.1\n",
|
| 1132 |
+
"scikit-image 0.19.3\n",
|
| 1133 |
+
"scikit-learn 1.2.2\n",
|
| 1134 |
+
"scipy 1.11.4\n",
|
| 1135 |
+
"scooby 0.9.2\n",
|
| 1136 |
+
"scs 3.2.4.post1\n",
|
| 1137 |
+
"seaborn 0.12.2\n",
|
| 1138 |
+
"SecretStorage 3.3.1\n",
|
| 1139 |
+
"Send2Trash 1.8.2\n",
|
| 1140 |
+
"setuptools 67.7.2\n",
|
| 1141 |
+
"shapely 2.0.2\n",
|
| 1142 |
+
"six 1.16.0\n",
|
| 1143 |
+
"sklearn-pandas 2.2.0\n",
|
| 1144 |
+
"smart-open 6.4.0\n",
|
| 1145 |
+
"sniffio 1.3.0\n",
|
| 1146 |
+
"snowballstemmer 2.2.0\n",
|
| 1147 |
+
"sortedcontainers 2.4.0\n",
|
| 1148 |
+
"soundfile 0.12.1\n",
|
| 1149 |
+
"soupsieve 2.5\n",
|
| 1150 |
+
"soxr 0.3.7\n",
|
| 1151 |
+
"spacy 3.6.1\n",
|
| 1152 |
+
"spacy-legacy 3.0.12\n",
|
| 1153 |
+
"spacy-loggers 1.0.5\n",
|
| 1154 |
+
"Sphinx 5.0.2\n",
|
| 1155 |
+
"sphinxcontrib-applehelp 1.0.7\n",
|
| 1156 |
+
"sphinxcontrib-devhelp 1.0.5\n",
|
| 1157 |
+
"sphinxcontrib-htmlhelp 2.0.4\n",
|
| 1158 |
+
"sphinxcontrib-jsmath 1.0.1\n",
|
| 1159 |
+
"sphinxcontrib-qthelp 1.0.6\n",
|
| 1160 |
+
"sphinxcontrib-serializinghtml 1.1.9\n",
|
| 1161 |
+
"SQLAlchemy 2.0.23\n",
|
| 1162 |
+
"sqlglot 17.16.2\n",
|
| 1163 |
+
"sqlparse 0.4.4\n",
|
| 1164 |
+
"srsly 2.4.8\n",
|
| 1165 |
+
"stanio 0.3.0\n",
|
| 1166 |
+
"statsmodels 0.14.0\n",
|
| 1167 |
+
"sympy 1.12\n",
|
| 1168 |
+
"tables 3.8.0\n",
|
| 1169 |
+
"tabulate 0.9.0\n",
|
| 1170 |
+
"tbb 2021.11.0\n",
|
| 1171 |
+
"tblib 3.0.0\n",
|
| 1172 |
+
"tenacity 8.2.3\n",
|
| 1173 |
+
"tensorboard 2.14.1\n",
|
| 1174 |
+
"tensorboard-data-server 0.7.2\n",
|
| 1175 |
+
"tensorflow 2.14.0\n",
|
| 1176 |
+
"tensorflow-datasets 4.9.3\n",
|
| 1177 |
+
"tensorflow-estimator 2.14.0\n",
|
| 1178 |
+
"tensorflow-gcs-config 2.14.0\n",
|
| 1179 |
+
"tensorflow-hub 0.15.0\n",
|
| 1180 |
+
"tensorflow-io-gcs-filesystem 0.34.0\n",
|
| 1181 |
+
"tensorflow-metadata 1.14.0\n",
|
| 1182 |
+
"tensorflow-probability 0.22.0\n",
|
| 1183 |
+
"tensorstore 0.1.45\n",
|
| 1184 |
+
"termcolor 2.3.0\n",
|
| 1185 |
+
"terminado 0.18.0\n",
|
| 1186 |
+
"text-unidecode 1.3\n",
|
| 1187 |
+
"textblob 0.17.1\n",
|
| 1188 |
+
"tf-slim 1.1.0\n",
|
| 1189 |
+
"thinc 8.1.12\n",
|
| 1190 |
+
"threadpoolctl 3.2.0\n",
|
| 1191 |
+
"tifffile 2023.9.26\n",
|
| 1192 |
+
"tinycss2 1.2.1\n",
|
| 1193 |
+
"tokenizers 0.15.0\n",
|
| 1194 |
+
"toml 0.10.2\n",
|
| 1195 |
+
"tomli 2.0.1\n",
|
| 1196 |
+
"toolz 0.12.0\n",
|
| 1197 |
+
"torch 2.1.0+cu118\n",
|
| 1198 |
+
"torchaudio 2.1.0+cu118\n",
|
| 1199 |
+
"torchdata 0.7.0\n",
|
| 1200 |
+
"torchsummary 1.5.1\n",
|
| 1201 |
+
"torchtext 0.16.0\n",
|
| 1202 |
+
"torchvision 0.16.0+cu118\n",
|
| 1203 |
+
"tornado 6.3.2\n",
|
| 1204 |
+
"tqdm 4.66.1\n",
|
| 1205 |
+
"traitlets 5.7.1\n",
|
| 1206 |
+
"traittypes 0.2.1\n",
|
| 1207 |
+
"transformers 4.35.2\n",
|
| 1208 |
+
"triton 2.1.0\n",
|
| 1209 |
+
"tweepy 4.14.0\n",
|
| 1210 |
+
"typer 0.9.0\n",
|
| 1211 |
+
"types-pytz 2023.3.1.1\n",
|
| 1212 |
+
"types-setuptools 69.0.0.0\n",
|
| 1213 |
+
"typing_extensions 4.5.0\n",
|
| 1214 |
+
"tzlocal 5.2\n",
|
| 1215 |
+
"uc-micro-py 1.0.2\n",
|
| 1216 |
+
"uritemplate 4.1.1\n",
|
| 1217 |
+
"urllib3 2.0.7\n",
|
| 1218 |
+
"vega-datasets 0.9.0\n",
|
| 1219 |
+
"wadllib 1.3.6\n",
|
| 1220 |
+
"wasabi 1.1.2\n",
|
| 1221 |
+
"wcwidth 0.2.12\n",
|
| 1222 |
+
"webcolors 1.13\n",
|
| 1223 |
+
"webencodings 0.5.1\n",
|
| 1224 |
+
"websocket-client 1.6.4\n",
|
| 1225 |
+
"Werkzeug 3.0.1\n",
|
| 1226 |
+
"wheel 0.42.0\n",
|
| 1227 |
+
"widgetsnbextension 3.6.6\n",
|
| 1228 |
+
"wordcloud 1.9.2\n",
|
| 1229 |
+
"wrapt 1.14.1\n",
|
| 1230 |
+
"xarray 2023.7.0\n",
|
| 1231 |
+
"xarray-einstats 0.6.0\n",
|
| 1232 |
+
"xgboost 2.0.2\n",
|
| 1233 |
+
"xlrd 2.0.1\n",
|
| 1234 |
+
"xxhash 3.4.1\n",
|
| 1235 |
+
"xyzservices 2023.10.1\n",
|
| 1236 |
+
"yarl 1.9.3\n",
|
| 1237 |
+
"yellowbrick 1.5\n",
|
| 1238 |
+
"yfinance 0.2.32\n",
|
| 1239 |
+
"zict 3.0.0\n",
|
| 1240 |
+
"zipp 3.17.0\n"
|
| 1241 |
+
]
|
| 1242 |
+
}
|
| 1243 |
+
],
|
| 1244 |
+
"source": [
|
| 1245 |
+
"!pip list"
|
| 1246 |
+
]
|
| 1247 |
+
},
|
| 1248 |
+
{
|
| 1249 |
+
"cell_type": "code",
|
| 1250 |
+
"execution_count": null,
|
| 1251 |
+
"metadata": {
|
| 1252 |
+
"id": "oohGJpghsGs0"
|
| 1253 |
+
},
|
| 1254 |
+
"outputs": [],
|
| 1255 |
+
"source": []
|
| 1256 |
+
}
|
| 1257 |
+
],
|
| 1258 |
+
"metadata": {
|
| 1259 |
+
"colab": {
|
| 1260 |
+
"provenance": []
|
| 1261 |
+
},
|
| 1262 |
+
"kernelspec": {
|
| 1263 |
+
"display_name": "Python 3",
|
| 1264 |
+
"name": "python3"
|
| 1265 |
+
},
|
| 1266 |
+
"language_info": {
|
| 1267 |
+
"name": "python"
|
| 1268 |
+
}
|
| 1269 |
+
},
|
| 1270 |
+
"nbformat": 4,
|
| 1271 |
+
"nbformat_minor": 0
|
| 1272 |
+
}
|
__crop-disease-detection/__pycache__/utils.cpython-311.pyc
ADDED
|
Binary file (4.5 kB). View file
|
|
|
__crop-disease-detection/app.py
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from flask import Flask, render_template, request, redirect, url_for, send_from_directory
|
| 2 |
+
import getpass
|
| 3 |
+
import os
|
| 4 |
+
|
| 5 |
+
from pyngrok import ngrok, conf
|
| 6 |
+
|
| 7 |
+
from utils import cottonmodel, sugarcanemodel, tomatomodel, get_model_details
|
| 8 |
+
|
| 9 |
+
app = Flask(__name__)
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
# Open a ngrok tunnel to the HTTP server
|
| 13 |
+
public_url = ngrok.connect(5000).public_url
|
| 14 |
+
print(" * ngrok tunnel \"{}\" -> \"http://127.0.0.1:{}/\"".format(public_url, 5000))
|
| 15 |
+
|
| 16 |
+
# Update any base URLs to use the public ngrok URL
|
| 17 |
+
app.config["BASE_URL"] = public_url
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
# Define the upload folder
|
| 22 |
+
UPLOAD_FOLDER = 'static/uploaded_images'
|
| 23 |
+
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
| 24 |
+
|
| 25 |
+
# Define allowed file extensions
|
| 26 |
+
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
|
| 27 |
+
|
| 28 |
+
# Function to check if a file has an allowed extension
|
| 29 |
+
def allowed_file(filename):
|
| 30 |
+
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
| 31 |
+
|
| 32 |
+
# Route for the home page
|
| 33 |
+
@app.route('/')
|
| 34 |
+
def home():
|
| 35 |
+
model_data = get_model_details()
|
| 36 |
+
return render_template('index.html', model_data=model_data)
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
# /cropmodel/?modelname=tomatomodel
|
| 40 |
+
# /cropmodel/?modelname=sugarcanemodel
|
| 41 |
+
# /cropmodel/?modelname=cottonmodel
|
| 42 |
+
|
| 43 |
+
@app.route('/cropmodel/')
|
| 44 |
+
def cropmodel():
|
| 45 |
+
# Check if the request is a GET request
|
| 46 |
+
if request.method == 'GET':
|
| 47 |
+
# Get the modelname argument from the request
|
| 48 |
+
modelname = request.args.get('modelname')
|
| 49 |
+
|
| 50 |
+
# Print the modelname on the terminal if available
|
| 51 |
+
if modelname:
|
| 52 |
+
# model_LIST = ['cottonmodel', 'sugarcanemodel', 'tomatomodel']
|
| 53 |
+
|
| 54 |
+
# print(f"Model Name: {modelname}")
|
| 55 |
+
__model_data = get_model_details()
|
| 56 |
+
model_data = __model_data[modelname]
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
# Render the template with the result
|
| 60 |
+
return render_template('modelresult.html', modelname=modelname, model_data=model_data)
|
| 61 |
+
|
| 62 |
+
else:
|
| 63 |
+
msg = "Model Name not provided in the request."
|
| 64 |
+
return render_template('modelresult.html', msg=msg)
|
| 65 |
+
|
| 66 |
+
# Render a template for non-GET requests
|
| 67 |
+
return render_template('nongetresult.html')
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
# Route to handle file upload
|
| 72 |
+
@app.route('/upload', methods=['POST'])
|
| 73 |
+
def upload_file():
|
| 74 |
+
if request.method == 'POST':
|
| 75 |
+
|
| 76 |
+
if 'file' not in request.files:
|
| 77 |
+
return redirect(request.url)
|
| 78 |
+
|
| 79 |
+
modelname = request.form.get('modelname')
|
| 80 |
+
|
| 81 |
+
|
| 82 |
+
file = request.files['file']
|
| 83 |
+
|
| 84 |
+
if file.filename == '':
|
| 85 |
+
return redirect(request.url)
|
| 86 |
+
|
| 87 |
+
if file and allowed_file(file.filename):
|
| 88 |
+
# Rename the file to "imageFile.jpeg"
|
| 89 |
+
filename = 'imageFile.jpeg'
|
| 90 |
+
|
| 91 |
+
# Save the file to the upload folder
|
| 92 |
+
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
| 93 |
+
|
| 94 |
+
|
| 95 |
+
defalut_image_path = 'static/uploaded_images/imageFile.jpeg'
|
| 96 |
+
|
| 97 |
+
__model_data = get_model_details()
|
| 98 |
+
model_data = __model_data[str(modelname)]
|
| 99 |
+
|
| 100 |
+
if modelname == 'cottonmodel':
|
| 101 |
+
result = cottonmodel(defalut_image_path)
|
| 102 |
+
|
| 103 |
+
elif modelname == 'sugarcanemodel':
|
| 104 |
+
result = sugarcanemodel(defalut_image_path)
|
| 105 |
+
|
| 106 |
+
elif modelname == 'tomatomodel':
|
| 107 |
+
result = tomatomodel(defalut_image_path)
|
| 108 |
+
|
| 109 |
+
else:
|
| 110 |
+
result = 'None'
|
| 111 |
+
model_data = 'None'
|
| 112 |
+
|
| 113 |
+
# print("modelname : ", modelname)
|
| 114 |
+
# print("model_data : ", model_data)
|
| 115 |
+
print("--- result : ", result)
|
| 116 |
+
# Render the template with the result
|
| 117 |
+
return render_template('modelresult.html', modelname=modelname, result=result, model_data=model_data)
|
| 118 |
+
|
| 119 |
+
# return redirect(url_for('view_file', filename=filename))
|
| 120 |
+
else:
|
| 121 |
+
return "Invalid file type. Allowed extensions are: png, jpg, jpeg"
|
| 122 |
+
|
| 123 |
+
return redirect(url_for('cropmodel'))
|
| 124 |
+
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
# Route to view the uploaded file
|
| 128 |
+
# @app.route('/view/<filename>')
|
| 129 |
+
# def view_file(filename):
|
| 130 |
+
# return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
|
| 131 |
+
|
| 132 |
+
if __name__ == '__main__':
|
| 133 |
+
# Ensure the upload folder exists
|
| 134 |
+
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
|
| 135 |
+
# app.run(debug=True)
|
| 136 |
+
|
| 137 |
+
# for Docker
|
| 138 |
+
# app.run(debug=True, host="0.0.0.0", port=5000)
|
| 139 |
+
app.run(port=5000, use_reloader=False)
|
| 140 |
+
|
__crop-disease-detection/docker-details.txt
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Docker not working now
|
| 2 |
+
|
| 3 |
+
terminal cmd:
|
| 4 |
+
|
| 5 |
+
( atharvapawar456 )
|
| 6 |
+
|
| 7 |
+
eg: atharvapawar456 / doc-test
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
### build docker image
|
| 11 |
+
|
| 12 |
+
docker build -t atharvapawar456/crop_disease_detector-flask-app .
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
docker image rm -f crop_disease_detector-flask-app
|
| 17 |
+
|
| 18 |
+
docker tag welcome-flask-app atharvapawar456/crop_disease_detector-flask-app
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
### docker basic cmd:
|
| 23 |
+
|
| 24 |
+
docker images
|
| 25 |
+
|
| 26 |
+
docker ps
|
| 27 |
+
|
| 28 |
+
docker stop cont_id
|
| 29 |
+
|
| 30 |
+
docker
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
### run docker image
|
| 34 |
+
|
| 35 |
+
docker run -p 5000:5000 welcome-flask-app
|
| 36 |
+
|
| 37 |
+
http://127.0.0.1:5000
|
| 38 |
+
|
| 39 |
+
### can access from local host
|
| 40 |
+
|
| 41 |
+
http://192.168.1.102:5000/
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
https://colab.research.google.com/drive/1wwfc_3k539L6MVys7JTZbGZlmTVcG1lw?usp=sharing
|
| 49 |
+
|
__crop-disease-detection/main.py
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# from flask_ngrok import run_with_ngrok
|
| 2 |
+
from pyngrok import ngrok, conf
|
| 3 |
+
import getpass
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
from flask import Flask, render_template, request, redirect, url_for, send_from_directory
|
| 7 |
+
import os
|
| 8 |
+
|
| 9 |
+
from utils import cottonmodel, sugarcanemodel, tomatomodel, get_model_details
|
| 10 |
+
|
| 11 |
+
app = Flask(__name__)
|
| 12 |
+
# run_with_ngrok(app)
|
| 13 |
+
|
| 14 |
+
# Open a ngrok tunnel to the HTTP server
|
| 15 |
+
public_url = ngrok.connect(5000).public_url
|
| 16 |
+
print(" * ngrok tunnel \"{}\" -> \"http://127.0.0.1:{}/\"".format(public_url, 5000))
|
| 17 |
+
|
| 18 |
+
# Update any base URLs to use the public ngrok URL
|
| 19 |
+
app.config["BASE_URL"] = public_url
|
| 20 |
+
|
| 21 |
+
# ... Update inbound traffic via APIs to use the public-facing ngrok URL
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
# Define the upload folder
|
| 26 |
+
UPLOAD_FOLDER = 'static/uploaded_images'
|
| 27 |
+
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
| 28 |
+
|
| 29 |
+
# Define allowed file extensions
|
| 30 |
+
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
|
| 31 |
+
|
| 32 |
+
# Function to check if a file has an allowed extension
|
| 33 |
+
def allowed_file(filename):
|
| 34 |
+
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
|
| 35 |
+
|
| 36 |
+
# Route for the home page
|
| 37 |
+
@app.route('/')
|
| 38 |
+
def home():
|
| 39 |
+
model_data = get_model_details()
|
| 40 |
+
return render_template('index.html', model_data=model_data)
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
# /cropmodel/?modelname=tomatomodel
|
| 44 |
+
# /cropmodel/?modelname=sugarcanemodel
|
| 45 |
+
# /cropmodel/?modelname=cottonmodel
|
| 46 |
+
|
| 47 |
+
@app.route('/cropmodel/')
|
| 48 |
+
def cropmodel():
|
| 49 |
+
# Check if the request is a GET request
|
| 50 |
+
if request.method == 'GET':
|
| 51 |
+
# Get the modelname argument from the request
|
| 52 |
+
modelname = request.args.get('modelname')
|
| 53 |
+
|
| 54 |
+
# Print the modelname on the terminal if available
|
| 55 |
+
if modelname:
|
| 56 |
+
# model_LIST = ['cottonmodel', 'sugarcanemodel', 'tomatomodel']
|
| 57 |
+
|
| 58 |
+
# print(f"Model Name: {modelname}")
|
| 59 |
+
__model_data = get_model_details()
|
| 60 |
+
model_data = __model_data[modelname]
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
# Render the template with the result
|
| 64 |
+
return render_template('modelresult.html', modelname=modelname, model_data=model_data)
|
| 65 |
+
|
| 66 |
+
else:
|
| 67 |
+
msg = "Model Name not provided in the request."
|
| 68 |
+
return render_template('modelresult.html', msg=msg)
|
| 69 |
+
|
| 70 |
+
# Render a template for non-GET requests
|
| 71 |
+
return render_template('nongetresult.html')
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
# Route to handle file upload
|
| 76 |
+
@app.route('/upload', methods=['POST'])
|
| 77 |
+
def upload_file():
|
| 78 |
+
if request.method == 'POST':
|
| 79 |
+
|
| 80 |
+
if 'file' not in request.files:
|
| 81 |
+
return redirect(request.url)
|
| 82 |
+
|
| 83 |
+
modelname = request.form.get('modelname')
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
file = request.files['file']
|
| 87 |
+
|
| 88 |
+
if file.filename == '':
|
| 89 |
+
return redirect(request.url)
|
| 90 |
+
|
| 91 |
+
if file and allowed_file(file.filename):
|
| 92 |
+
# Rename the file to "imageFile.jpeg"
|
| 93 |
+
filename = 'imageFile.jpeg'
|
| 94 |
+
|
| 95 |
+
# Save the file to the upload folder
|
| 96 |
+
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
| 97 |
+
|
| 98 |
+
|
| 99 |
+
defalut_image_path = 'static/uploaded_images/imageFile.jpeg'
|
| 100 |
+
|
| 101 |
+
__model_data = get_model_details()
|
| 102 |
+
model_data = __model_data[str(modelname)]
|
| 103 |
+
|
| 104 |
+
if modelname == 'cottonmodel':
|
| 105 |
+
result = cottonmodel(defalut_image_path)
|
| 106 |
+
|
| 107 |
+
elif modelname == 'sugarcanemodel':
|
| 108 |
+
result = sugarcanemodel(defalut_image_path)
|
| 109 |
+
|
| 110 |
+
elif modelname == 'tomatomodel':
|
| 111 |
+
result = tomatomodel(defalut_image_path)
|
| 112 |
+
|
| 113 |
+
else:
|
| 114 |
+
result = 'None'
|
| 115 |
+
model_data = 'None'
|
| 116 |
+
|
| 117 |
+
# print("modelname : ", modelname)
|
| 118 |
+
# print("model_data : ", model_data)
|
| 119 |
+
print("--- result : ", result)
|
| 120 |
+
# Render the template with the result
|
| 121 |
+
return render_template('modelresult.html', modelname=modelname, result=result, model_data=model_data)
|
| 122 |
+
|
| 123 |
+
# return redirect(url_for('view_file', filename=filename))
|
| 124 |
+
else:
|
| 125 |
+
return "Invalid file type. Allowed extensions are: png, jpg, jpeg"
|
| 126 |
+
|
| 127 |
+
return redirect(url_for('cropmodel'))
|
| 128 |
+
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
# Route to view the uploaded file
|
| 132 |
+
# @app.route('/view/<filename>')
|
| 133 |
+
# def view_file(filename):
|
| 134 |
+
# return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
|
| 135 |
+
|
| 136 |
+
if __name__ == '__main__':
|
| 137 |
+
# Ensure the upload folder exists
|
| 138 |
+
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
|
| 139 |
+
# app.run(debug=True)
|
| 140 |
+
# app.run()
|
| 141 |
+
app.run(port=5000, use_reloader=False)
|
| 142 |
+
|
| 143 |
+
|
| 144 |
+
# for Docker
|
| 145 |
+
# app.run(debug=True, host="0.0.0.0", port=5000)
|
__crop-disease-detection/model_folder/cotton_disease_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:46bb92576a97e7507ccfd32bd17523432d7523ca34de3f37c821ce929cd8b8d0
|
| 3 |
+
size 267000104
|
__crop-disease-detection/model_folder/sugarcane_disease_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4e7c11963e2a65a56848301b0478b27f1b396928a7098d28e31bcdb0a76b74c7
|
| 3 |
+
size 134084136
|
__crop-disease-detection/model_folder/tomato_disease_model.h5
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:580cd9fe4af93f04c4e53f9549be6757d6f920fbc73993ca53ff7ff95fb35438
|
| 3 |
+
size 134095912
|
__crop-disease-detection/requirements.txt
ADDED
|
Binary file (94 Bytes). View file
|
|
|
__crop-disease-detection/static/setup/cotton_image.jpeg
ADDED
|
__crop-disease-detection/static/setup/logo.png
ADDED
|
__crop-disease-detection/static/setup/plant.png
ADDED
|
__crop-disease-detection/static/setup/sugarcane_image.jpeg
ADDED
|
__crop-disease-detection/static/setup/tomato_image.jpeg
ADDED
|
__crop-disease-detection/static/uploaded_images/imageFile.jpeg
ADDED
|
__crop-disease-detection/templates/index.html
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 7 |
+
|
| 8 |
+
<title>CropDiseaseDetector</title>
|
| 9 |
+
</head>
|
| 10 |
+
|
| 11 |
+
<body>
|
| 12 |
+
|
| 13 |
+
<!-- Nav Bar -->
|
| 14 |
+
<div class="h-[80px] border grid grid-cols-6 bg-[#ecfdf5]">
|
| 15 |
+
<a href="/" class="text-center text-xl font-bold pt-2 col-span-2 flex mx-auto">
|
| 16 |
+
<img src="{{ url_for('static', filename='setup/logo.png') }}" alt="plant"
|
| 17 |
+
class="mb-4 h-14 rounded-md mr-4 border border-2 rounded-xl shadow-md hover:shadow-xl">
|
| 18 |
+
<div class="pt-3 text-2xl">CropDiseaseDetector</div>
|
| 19 |
+
</a>
|
| 20 |
+
|
| 21 |
+
<div></div>
|
| 22 |
+
<div></div>
|
| 23 |
+
<div></div>
|
| 24 |
+
|
| 25 |
+
<a href="/" class="text-center text-xl font-bold py-6 hover:bg-[#d9f99d]">
|
| 26 |
+
<div>⚛️ Select Crop</div>
|
| 27 |
+
</a>
|
| 28 |
+
</div>
|
| 29 |
+
|
| 30 |
+
<!-- Content -->
|
| 31 |
+
|
| 32 |
+
<!-- Cards -->
|
| 33 |
+
<div class="h-[560px] flex flex-col justify-center items-center mx-10">
|
| 34 |
+
<h1 class="text-4xl font-extrabold text-gray-800 mb-10">Crop Disease Detector</h1>
|
| 35 |
+
<h1 class="text-xl text-gray-500 mb-10">
|
| 36 |
+
Crop disease detection involves the use of machine learning models to identify and classify diseases affecting various crops. In the provided information, three specific models are highlighted: the Tomato Disease Detection Model, the Sugarcane Disease Detection Model, and the Cotton Disease Detection Model.
|
| 37 |
+
</h1>
|
| 38 |
+
|
| 39 |
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
| 40 |
+
|
| 41 |
+
<!-- Tomato Section -->
|
| 42 |
+
<a href="/cropmodel/?modelname=tomatomodel" class="bg-white p-6 rounded-md shadow-md border">
|
| 43 |
+
<div>
|
| 44 |
+
<img src="{{ url_for('static', filename='setup/tomato_image.jpeg') }}" alt="Tomato"
|
| 45 |
+
class="mb-4 w-full h-[210px] rounded-md">
|
| 46 |
+
<h2 class="text-xl font-semibold text-gray-800 mb-2">Tomato</h2>
|
| 47 |
+
<p class="text-gray-600">Detect and diagnose diseases affecting tomato crops.</p>
|
| 48 |
+
</div>
|
| 49 |
+
</a>
|
| 50 |
+
|
| 51 |
+
<!-- Sugarcane Section -->
|
| 52 |
+
<a href="/cropmodel/?modelname=sugarcanemodel" class="bg-white p-6 rounded-md shadow-md border">
|
| 53 |
+
<div>
|
| 54 |
+
<img src="{{ url_for('static', filename='setup/sugarcane_image.jpeg') }}" alt="Sugarcane" class="mb-4 w-full h-[210px] rounded-md">
|
| 55 |
+
<h2 class="text-xl font-semibold text-gray-800 mb-2">Sugarcane</h2>
|
| 56 |
+
<p class="text-gray-600">Identify diseases impacting sugarcane plants for better crop management.</p>
|
| 57 |
+
</div>
|
| 58 |
+
</a>
|
| 59 |
+
|
| 60 |
+
<!-- Cotton Section -->
|
| 61 |
+
<a href="/cropmodel/?modelname=cottonmodel" class="bg-white p-6 rounded-md shadow-md border">
|
| 62 |
+
<div>
|
| 63 |
+
<img src="{{ url_for('static', filename='setup/cotton_image.jpeg') }}" alt="Cotton"
|
| 64 |
+
class="mb-4 w-full h-[210px] rounded-md">
|
| 65 |
+
<h2 class="text-xl font-semibold text-gray-800 mb-2">Cotton</h2>
|
| 66 |
+
<p class="text-gray-600">Detect and analyze diseases affecting cotton plants for improved yield.</p>
|
| 67 |
+
</div>
|
| 68 |
+
</a>
|
| 69 |
+
|
| 70 |
+
</div>
|
| 71 |
+
</div>
|
| 72 |
+
|
| 73 |
+
<!-- Footer -->
|
| 74 |
+
<section>
|
| 75 |
+
<div class="text-xl text-center font-bold pb-6">☘️ CropDiseaseDetector | 2023</div>
|
| 76 |
+
</section>
|
| 77 |
+
|
| 78 |
+
</body>
|
| 79 |
+
</html>
|
__crop-disease-detection/templates/modelresult.html
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 7 |
+
|
| 8 |
+
<title>Model Result</title>
|
| 9 |
+
</head>
|
| 10 |
+
<body>
|
| 11 |
+
|
| 12 |
+
<!-- Nav Bar -->
|
| 13 |
+
<div class="h-[80px] border grid grid-cols-6 bg-[#ecfdf5]">
|
| 14 |
+
<a href="/" class="text-center text-xl font-bold pt-2 col-span-2 flex mx-auto">
|
| 15 |
+
<img src="{{ url_for('static', filename='setup/logo.png') }}" alt="plant"
|
| 16 |
+
class="mb-4 h-14 rounded-md mr-4 border border-2 rounded-xl shadow-md hover:shadow-xl">
|
| 17 |
+
<div class="pt-3 text-2xl">CropDiseaseDetector</div>
|
| 18 |
+
</a>
|
| 19 |
+
|
| 20 |
+
<div></div>
|
| 21 |
+
<div></div>
|
| 22 |
+
<div></div>
|
| 23 |
+
|
| 24 |
+
<a href="/" class="text-center text-xl font-bold py-6 hover:bg-[#d9f99d]">
|
| 25 |
+
<div>⚛️ Select Crop</div>
|
| 26 |
+
</a>
|
| 27 |
+
</div>
|
| 28 |
+
|
| 29 |
+
<!-- Crop Model Name -->
|
| 30 |
+
<div class="text-xl text-center font-bold py-10">
|
| 31 |
+
Crop Model {{ modelname }}
|
| 32 |
+
</div>
|
| 33 |
+
|
| 34 |
+
<!-- Upload Image -->
|
| 35 |
+
<div class="grid grid-cols-3 mt-10">
|
| 36 |
+
|
| 37 |
+
<div class="border w-5/6 mx-auto px-10 py-4 rounded-xl shadow-md col-span-2">
|
| 38 |
+
<h1 class="text-xl text-center font-bold pb-10">Image Upload</h1>
|
| 39 |
+
<form action="/upload" method="post" enctype="multipart/form-data" class="mt-12">
|
| 40 |
+
|
| 41 |
+
<input type="text" name="modelname" class="border rounded-l-lg w-9/12 p-2 hidden" value="{{ modelname }}">
|
| 42 |
+
|
| 43 |
+
<!-- <input type="file" name="file" accept=".png, .jpg, .jpeg" class="border rounded-l-lg w-9/12 p-2" required> -->
|
| 44 |
+
<input type="file" name="file" accept=".png, .jpg, .jpeg, .JPG" class="border rounded-l-lg w-9/12 p-2" required>
|
| 45 |
+
<button type="submit" class="p-2 w-1/6 border shadow rounded-r-lg ml-6 hover:bg-blue-100 text-xl">Upload</button>
|
| 46 |
+
</form>
|
| 47 |
+
</div>
|
| 48 |
+
|
| 49 |
+
<!-- img preview -->
|
| 50 |
+
<div class="border mx-auto p-2 rounded-xl shadow-md w-5/6">
|
| 51 |
+
<div class="text-xl text-center font-bold pb-2">Image Preview</div>
|
| 52 |
+
{% if result %}
|
| 53 |
+
|
| 54 |
+
<!-- <img src="{{ url_for('static', filename='uploaded_images/imageFile.png') }}" alt="Tomato" class="mb-4 h-[210px] rounded-md mx-auto"> -->
|
| 55 |
+
|
| 56 |
+
<img src="{{ url_for('static', filename='uploaded_images/imageFile.jpeg') }}" alt="Tomato" class="mb-4 h-[210px] rounded-md mx-auto">
|
| 57 |
+
|
| 58 |
+
{% else %}
|
| 59 |
+
|
| 60 |
+
<img src="{{ url_for('static', filename='setup/plant.png') }}" alt="plant" class="mb-4 h-[210px] rounded-md mx-auto">
|
| 61 |
+
|
| 62 |
+
{% endif %}
|
| 63 |
+
|
| 64 |
+
</div>
|
| 65 |
+
|
| 66 |
+
</div>
|
| 67 |
+
|
| 68 |
+
<!-- Result -->
|
| 69 |
+
{% if result %}
|
| 70 |
+
<div class="p-10 mx-10">
|
| 71 |
+
<div
|
| 72 |
+
class="w-4/6 mx-auto px-10 border text-center text-2xl bg-[#fef9c3] py-6 shadow-md hover:shadow-inner">
|
| 73 |
+
Predicted Result : <b>{{ result }}</b></div>
|
| 74 |
+
</div>
|
| 75 |
+
{% endif %}
|
| 76 |
+
|
| 77 |
+
<!-- Model Details -->
|
| 78 |
+
|
| 79 |
+
{% if model_data %}
|
| 80 |
+
<div class="mx-10 p-10 border my-10 rounded-xl shadow-sm bg-[#f0fdf4]">
|
| 81 |
+
<div class="text-center text-xl font-bold mb-10">Model Details</div>
|
| 82 |
+
|
| 83 |
+
<div class="grid grid-cols-2 gap-4 px-10">
|
| 84 |
+
|
| 85 |
+
<div>
|
| 86 |
+
<b>About Dataset:</b>
|
| 87 |
+
<div class="px-6 py-6">
|
| 88 |
+
<div>- Total Images : {{ model_data.dataset.total_images }}</div>
|
| 89 |
+
<div>- Total Classes : {{ model_data.dataset.total_classes }}</div>
|
| 90 |
+
<div>- Class Names : <br><p class="pl-20">{{ model_data.dataset.classes_names }}</p></div>
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
|
| 94 |
+
<div class="px-20">
|
| 95 |
+
<b>About Model Training:</b>
|
| 96 |
+
<div class="px-6 py-6">
|
| 97 |
+
<div>- Training Epochs : {{ model_data.training.epochs }}</div>
|
| 98 |
+
<div>- Batch Size : {{ model_data.training.batch_size }}</div>
|
| 99 |
+
<div>- Img Frame Size : {{ model_data.training.img_frame_size }}</div>
|
| 100 |
+
<div>- CNN Layers : {{ model_data.training.CNN_layers }}</div>
|
| 101 |
+
<div>- CNN Layer Name : {{ model_data.training.CNN_layer_name }}</div>
|
| 102 |
+
<div>- Traning Accuracy : {{ model_data.training.accuracy }}</div>
|
| 103 |
+
</div>
|
| 104 |
+
</div>
|
| 105 |
+
|
| 106 |
+
</div>
|
| 107 |
+
<div>
|
| 108 |
+
<div class="text-center text-xl font-bold mb-10">References</div>
|
| 109 |
+
<a href="{{model_data.reference}}" class="text-center text-xl mb-10">
|
| 110 |
+
{{model_data.reference}}
|
| 111 |
+
</a>
|
| 112 |
+
</div>
|
| 113 |
+
</div>
|
| 114 |
+
{% endif %}
|
| 115 |
+
|
| 116 |
+
<!-- Footer -->
|
| 117 |
+
<section>
|
| 118 |
+
<div class="text-xl text-center font-bold pb-6">☘️ CropDiseaseDetector | 2023</div>
|
| 119 |
+
</section>
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
|
| 123 |
+
</body>
|
| 124 |
+
</html>
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (101)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (106)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (109)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton leaf/dis_leaf (110)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (101)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (103)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (105)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/diseased cotton plant/dd (108)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (10)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (103)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (107)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton leaf/d (110)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (136)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (138)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (144)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/cottonmodel/fresh cotton plant/dsd (146)_iaip.jpeg
ADDED
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (10).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (12).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (17).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Bacterial Blight/S_BLB (20).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (100).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (12).jpg
ADDED
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (14).jpg
ADDED
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Healthy/S_H (19).jpg
ADDED
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (100).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (12).JPG
ADDED
|
|
Git LFS Details
|
__crop-disease-detection/test_img_folder/sugarcanemodel/Red Rot/S_RR (16).JPG
ADDED
|
|
Git LFS Details
|