CommencerCommencer 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

Deep learning intermédiaire avec PyTorch

Afficher le cours

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