CommencerCommencer gratuitement

Augmentation des données dans PyTorch

Incluons l'augmentation des données dans votre jeu de données et inspectons visuellement quelques images pour nous assurer que les transformations souhaitées sont appliquées.

Tout d'abord, vous ajouterez les transformations d'augmentation à train_transforms. Utilisons un retournement horizontal aléatoire et une rotation d'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 que précédemment. Enfin, vous remodèlerez l'image et l'afficherez pour voir si les nouvelles transformations d'augmentation sont visibles.

Toutes les importations dont vous avez besoin ont été appelées 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 les photos de nuages !

Cet exercice fait partie du cours

Apprentissage profond intermédiaire avec PyTorch

Afficher le cours

Instructions

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