Spaces:
Runtime error
Runtime error
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 | |