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
Instructions de l’exercice
- Ajoutez deux transformations supplémentaires à
train_transformspour effectuer un retournement horizontal aléatoire, puis une rotation d'un angle aléatoire entre 0 et 45 degrés. - Remodelez le tenseur
imageprovenant 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()