Augmentation des données avec PyTorch
Intégrons l’augmentation des données dans votre Dataset et inspectons visuellement quelques images pour vérifier que les transformations souhaitées sont bien appliquées.
Tout d’abord, vous allez ajouter les transformations d’augmentation à train_transforms. Utilisons un retournement horizontal aléatoire et une rotation selon un angle aléatoire compris entre 0 et 45 degrés. Le code qui suit pour créer le Dataset et le DataLoader est exactement le même qu’auparavant. Enfin, vous allez reconfigurer la forme de l’image et l’afficher pour vérifier que les nouvelles transformations d’augmentation sont visibles.
Tous les imports nécessaires ont déjà été effectués pour vous :
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
Il est temps d’augmenter quelques photos de nuages !
Cet exercice fait partie du cours
Deep learning intermédiaire avec PyTorch
Instructions
- Ajoutez deux transformations supplémentaires à
train_transforms: un retournement horizontal aléatoire, puis une rotation selon un angle aléatoire compris entre 0 et 45 degrés. - Refaçonnez le tenseur
imageissu du DataLoader pour le rendre affichable. - Affichez l’image.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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()