Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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