File size: 2,129 Bytes
eecd883 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
from torchvision import transforms as tt
from PIL import Image
import torch
from torchvision import transforms as tt
from PIL import Image
import cv2
def predict_potato(image_path, model):
# Define the pre-processing transform
transforms = tt.Compose([
tt.Resize((224, 224)),
tt.ToTensor()
])
image = Image.open(image_path).convert("RGB")
# Pre-process the image
image_tensor = transforms(image).unsqueeze(0)
# Set the model to evaluation mode
model.eval()
# Make a prediction
with torch.no_grad():
output = model(image_tensor)
# Convert the output to probabilities using softmax
probabilities = torch.nn.functional.softmax(output[0], dim=0)
# Get the predicted class
predicted_class = torch.argmax(probabilities).item()
# Get the probability for the predicted class
predicted_probability = probabilities[predicted_class].item()
# Define class labels
class_labels = ['Potato Early Blight', 'Potato Late Blight', 'Potato Healthy']
return class_labels[predicted_class], predicted_probability, image
def predict_tomato(image_file, model):
# Define the pre-processing transform
transforms = tt.Compose([
tt.Resize((224, 224)),
tt.ToTensor()
])
# Load and preprocess the image
image = Image.open(image_file).convert("RGB")
image_tensor = transforms(image).unsqueeze(0)
# Set the model to evaluation mode
model.eval()
# Make a prediction
with torch.no_grad():
output = model(image_tensor)
# Convert the output to probabilities using softmax
probabilities = torch.nn.functional.softmax(output[0], dim=0)
# Get the predicted class
predicted_class = torch.argmax(probabilities).item()
# Get the probability for the predicted class
predicted_probability = probabilities[predicted_class].item()
# Define class labels for tomato
class_labels = ['Tomato Early Blight', 'Tomato Late Blight', 'Tomato Healthy']
return class_labels[predicted_class], predicted_probability, image
|