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
Oefeninstructies
- Voeg twee extra transformaties toe aan
train_transformsom 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()