Zacznij terazZacznij za darmo

Augmentacja danych w PyTorch

Dodajmy augmentację danych do twojego zbioru danych i sprawdźmy kilka obrazów wizualnie, aby upewnić się, że pożądane przekształcenia są stosowane.

Na początek dodasz przekształcenia augmentujące do train_transforms. Użyjemy losowego odbicia poziomego oraz obrotu o losowy kąt z zakresu od 0 do 45 stopni. Kod tworzący zbiór danych i DataLoader pozostaje taki sam jak wcześniej. Na koniec zmienisz kształt obrazu i wyświetlisz go, żeby sprawdzić, czy nowe przekształcenia są widoczne.

Wszystkie potrzebne importy zostały już wywołane:

from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt

Czas na augmentację zdjęć chmur!

To ćwiczenie jest częścią kursu

Głębokie uczenie z PyTorch – poziom średnio zaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj dwa kolejne przekształcenia do train_transforms: losowe odbicie poziome oraz obrót o losowy kąt z zakresu od 0 do 45 stopni.
  • Zmień kształt tensora image pobranego z DataLoadera, aby przygotować go do wyświetlenia.
  • Wyświetl obraz.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

train_transforms = transforms.Compose([
    # Add horizontal flip and rotation
    ____,
    ____,
    transforms.ToTensor(),
    transforms.Resize((128, 128)),
])

dataset_train = ImageFolder(
  "clouds_train",
  transform=train_transforms,
)

dataloader_train = DataLoader(
  dataset_train, shuffle=True, batch_size=1
)

image, label = next(iter(dataloader_train))
# Reshape the image tensor
image = image.____.____(____, ____, ____) 
# Display the image
____
plt.show()
Edytuj i uruchom kod