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
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()