From 4955e737c5c2ed624c1e8334cef9861a9dee7ab2 Mon Sep 17 00:00:00 2001 From: Zofia Lorenc Date: Sun, 26 May 2024 17:44:01 +0200 Subject: [PATCH] photos for predictions --- src/veggies_recognition/marchew_118.jpg | Bin 0 -> 9442 bytes src/veggies_recognition/predict.py | 36 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/veggies_recognition/marchew_118.jpg create mode 100644 src/veggies_recognition/predict.py diff --git a/src/veggies_recognition/marchew_118.jpg b/src/veggies_recognition/marchew_118.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62ba9ca7b88597dee53ac666e1dffd3285a35dfb GIT binary patch literal 9442 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 LmM8Jy@9h5oz!py? literal 0 HcmV?d00001 diff --git a/src/veggies_recognition/predict.py b/src/veggies_recognition/predict.py new file mode 100644 index 00000000..12d8aa76 --- /dev/null +++ b/src/veggies_recognition/predict.py @@ -0,0 +1,36 @@ +import torch +import torchvision +import torchvision.transforms as transforms +from PIL import Image + +classes = [ + "bób", "brokuł", "brukselka", "burak", "cebula", + "cukinia", "dynia", "fasola", "groch", "jarmuż", + "kalafior", "kalarepa", "kapusta", "marchew", + "ogórek", "papryka", "pietruszka", "pomidor", + "por", "rzepa", "rzodkiewka", "sałata", "seler", + "szpinak", "ziemniak"] + +model = torch.load("best_model.pth") + +mean = [0.5322, 0.5120, 0.3696] +std = [0.2487, 0.2436, 0.2531] + +image_transforms = transforms.Compose([ + transforms.Resize((224, 224)), + transforms.ToTensor(), + transforms.Normalize(torch.Tensor(mean),torch.Tensor(std)) +]) + +def predict(model, image_transforms, image_path, classes): + model = model.eval() + image = Image.open(image_path) + image = image_transforms(image).float() + image = image.unsqueeze(0) + + output = model(image) + _, predicted = torch.max(output.data, 1) + + print(classes[predicted.item()]) + +predict(model, image_transforms, "marchew_118.jpg", classes) \ No newline at end of file