Аугментація даних у PyTorch
Додаймо аугментацію даних до вашого Dataset і перегляньмо кілька зображень, щоб переконатися, що потрібні перетворення застосовано.
Спочатку додайте перетворення-аугментації до train_transforms. Використаймо випадкове горизонтальне віддзеркалення та обертання на випадковий кут від 0 до 45 градусів. Далі код для створення Dataset і DataLoader буде таким самим, як раніше. Нарешті, змініть форму тензора зображення та відобразіть його, щоб перевірити, чи видно нові перетворення-аугментації.
Усі потрібні імпорти вже виконано за вас:
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
Час аугментувати фотографії хмар!
Ця вправа є частиною курсу
Середній рівень Deep Learning з PyTorch
Інструкції до вправи
- Додайте ще два перетворення до
train_transforms: випадкове горизонтальне віддзеркалення, а потім обертання на випадковий кут від 0 до 45 градусів. - Змініть форму тензора
imageз DataLoader, щоб зробити його придатним для відображення. - Відобразіть зображення.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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()