Spaces:
Runtime error
Runtime error
ADobrovsky
commited on
Commit
•
214d5f1
1
Parent(s):
79c56bd
Upload 2 files
Browse files- app.py +31 -0
- requirements.txt +2 -0
app.py
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import torch
|
3 |
+
import torch.nn as nn
|
4 |
+
import torch.utils.data
|
5 |
+
from torch import Tensor
|
6 |
+
from torch.utils.data import DataLoader, Dataset, WeightedRandomSampler
|
7 |
+
import torchvision
|
8 |
+
from torchvision import datasets, transforms, models
|
9 |
+
|
10 |
+
MODEL_NAME = 'ResNeXt-101-64x4d'
|
11 |
+
model = torch.load(MODEL_NAME+'.ptm')
|
12 |
+
|
13 |
+
labels = ['Apple__black_rot', 'Apple__healthy', 'Apple__rust', 'Apple__scab', 'Cassava__bacterial_blight', 'Cassava__brown_streak_disease', 'Cassava__green_mottle', 'Cassava__healthy', 'Cassava__mosaic_disease', 'Cherry__healthy', 'Cherry__powdery_mildew', 'Chili__healthy', 'Chili__leaf curl', 'Chili__leaf spot', 'Chili__whitefly', 'Chili__yellowish', 'Coffee__cercospora_leaf_spot', 'Coffee__healthy', 'Coffee__red_spider_mite', 'Coffee__rust', 'Corn__common_rust', 'Corn__gray_leaf_spot', 'Corn__healthy', 'Corn__northern_leaf_blight', 'Cucumber__diseased', 'Cucumber__healthy', 'Gauva__diseased', 'Gauva__healthy', 'Grape__black_measles', 'Grape__black_rot', 'Grape__healthy', 'Grape__leaf_blight_(isariopsis_leaf_spot)', 'Jamun__diseased', 'Jamun__healthy', 'Lemon__diseased', 'Lemon__healthy', 'Mango__diseased', 'Mango__healthy', 'Peach__bacterial_spot', 'Peach__healthy', 'Pepper_bell__bacterial_spot', 'Pepper_bell__healthy', 'Pomegranate__diseased', 'Pomegranate__healthy', 'Potato__early_blight', 'Potato__healthy', 'Potato__late_blight', 'Rice__brown_spot', 'Rice__healthy', 'Rice__hispa', 'Rice__leaf_blast', 'Rice__neck_blast', 'Soybean__bacterial_blight', 'Soybean__caterpillar', 'Soybean__diabrotica_speciosa', 'Soybean__downy_mildew', 'Soybean__healthy', 'Soybean__mosaic_virus', 'Soybean__powdery_mildew', 'Soybean__rust', 'Soybean__southern_blight', 'Strawberry___leaf_scorch', 'Strawberry__healthy', 'Sugarcane__bacterial_blight', 'Sugarcane__healthy', 'Sugarcane__red_rot', 'Sugarcane__red_stripe', 'Sugarcane__rust', 'Tea__algal_leaf', 'Tea__anthracnose', 'Tea__bird_eye_spot', 'Tea__brown_blight', 'Tea__healthy', 'Tea__red_leaf_spot', 'Tomato__bacterial_spot', 'Tomato__early_blight', 'Tomato__healthy', 'Tomato__late_blight', 'Tomato__leaf_mold', 'Tomato__mosaic_virus', 'Tomato__septoria_leaf_spot', 'Tomato__spider_mites_(two_spotted_spider_mite)', 'Tomato__target_spot', 'Tomato__yellow_leaf_curl_virus', 'Wheat__brown_rust', 'Wheat__healthy', 'Wheat__septoria', 'Wheat__yellow_rust']
|
14 |
+
|
15 |
+
def predict(img):
|
16 |
+
img = predictTransform(img).unsqueeze(0).to(DEVICE)
|
17 |
+
with torch.inference_mode():
|
18 |
+
prediction = torch.nn.functional.softmax(model(img)[0], dim=0)
|
19 |
+
confidences = {labels[i]: float(prediction[i]) for i in range(len(labels))}
|
20 |
+
return confidences
|
21 |
+
|
22 |
+
title = "Plant Disease Classifier"
|
23 |
+
description = "Please upload a photo containing a plant leaf."
|
24 |
+
iface = gr.Interface(predict,
|
25 |
+
inputs=gr.Image(shape=(224, 224)),
|
26 |
+
outputs=gr.Label(num_top_classes=7),
|
27 |
+
live=True,
|
28 |
+
title=title,
|
29 |
+
description=description,
|
30 |
+
interpretation='default').launch(share=True)
|
31 |
+
|
requirements.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
torch
|
2 |
+
torchvision
|