Aumento de dados no PyTorch
Vamos incluir o aumento de dados em seu conjunto de dados e inspecionar algumas imagens visualmente para garantir que as transformações desejadas sejam aplicadas.
Primeiro, você adicionará as transformações de aumento a train_transforms
. Vamos usar um flip horizontal aleatório e uma rotação em um ângulo aleatório entre 0 e 45 graus. O código a seguir para criar o conjunto de dados e o DataLoader é exatamente o mesmo que o anterior. Por fim, você reformulará a imagem e a exibirá para ver se as novas transformações de aumento estão visíveis.
Todas as importações de que você precisa foram chamadas para você:
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
É hora de aumentar algumas fotos de nuvens!
Este exercício faz parte do curso
Aprendizagem profunda intermediária com PyTorch
Instruções de exercício
- Adicione mais duas transformações a
train_transforms
para realizar uma inversão horizontal aleatória e, em seguida, uma rotação em um ângulo aleatório entre 0 e 45 graus. - Remodele o tensor
image
do DataLoader para torná-lo adequado para exibição. - Exiba a imagem.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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()