Aan de slagGa gratis aan de slag

Data-augmentatie in PyTorch

Laten we data-augmentatie toevoegen aan je Dataset en een paar afbeeldingen visueel inspecteren om zeker te weten dat de gewenste transformaties worden toegepast.

Eerst voeg je de augmentatietransformaties toe aan train_transforms. We gebruiken een willekeurige horizontale spiegeling en een rotatie met een willekeurige hoek tussen 0 en 45 graden. De code die volgt om de Dataset en de DataLoader te maken is precies hetzelfde als eerder. Tot slot vorm je de afbeelding om en toon je die om te zien of de nieuwe augmentatietransformaties zichtbaar zijn.

Alle imports die je nodig hebt, zijn alvast voor je gedaan:

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

Tijd om wat wolkenfoto's te augmenteren!

Deze oefening maakt deel uit van de cursus

Gevorderde Deep Learning met PyTorch

Cursus bekijken

Oefeninstructies

  • Voeg twee extra transformaties toe aan train_transforms om eerst een willekeurige horizontale spiegeling uit te voeren en daarna een rotatie met een willekeurige hoek tussen 0 en 45 graden.
  • Vorm de image-tensor uit de DataLoader om zodat deze geschikt is om te tonen.
  • Toon de afbeelding.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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()
Code bewerken en uitvoeren