CommencerCommencez gratuitement

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

<cours>Deep learning intermédiaire avec PyTorch</cours>
Voir le cours

Instructions de l’exercice

  • 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 image issu du DataLoader pour le rendre affichable.
  • Affichez l’image.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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()
Modifier et exécuter le code