Data augmentation in PyTorch
Includiamo il data augmentation nel tuo Dataset e ispezioniamo alcune immagini visivamente per assicurarci che le trasformazioni desiderate vengano applicate.
Per prima cosa, aggiungerai le trasformazioni di aumento a train_transforms. Usiamo un flip orizzontale casuale e una rotazione con un angolo casuale tra 0 e 45 gradi. Il codice che segue per creare il Dataset e il DataLoader è esattamente lo stesso di prima. Infine, rimodellerai l'immagine e la visualizzerai per verificare che le nuove trasformazioni di aumento siano visibili.
Tutti gli import necessari sono già stati eseguiti per te:
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
È il momento di aumentare qualche foto di nuvole!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Istruzioni dell'esercizio
- Aggiungi due trasformazioni a
train_transformsper eseguire un flip orizzontale casuale e poi una rotazione con un angolo casuale tra 0 e 45 gradi. - Rimodella il tensore
imagedal DataLoader per renderlo adatto alla visualizzazione. - Visualizza l'immagine.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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()