CommencezCommencez gratuitement

Augmentation de données avec PyTorch

Intégrez maintenant l'augmentation de données à votre Dataset et examinez visuellement quelques images pour vérifier que les transformations souhaitées sont bien appliquées.

D'abord, vous ajouterez les transformations d'augmentation à train_transforms. Utilisons un retournement horizontal aléatoire et une rotation d'un angle aléatoire 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 remodelerez l'image et l'afficherez pour voir si les nouvelles transformations d'augmentation sont visibles.

Tous les importations nécessaires ont déjà été effectuées pour vous :

from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt

C'est le moment d'augmenter quelques photos de nuages !

Cette activité fait partie du cours

Apprentissage profond intermédiaire avec PyTorch

Voir le cours

Instructions de l’exercice

  • Ajoutez deux transformations supplémentaires à train_transforms pour effectuer un retournement horizontal aléatoire, puis une rotation d'un angle aléatoire entre 0 et 45 degrés.
  • Remodelez le tenseur image provenant du DataLoader pour le rendre apte à l'affichage.
  • 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