Аугментация данных в PyTorch
Давайте добавим аугментацию данных в ваш набор данных и визуально проверим изображения, чтобы убедиться, что нужные преобразования применяются корректно.
Сначала вы добавите преобразования для аугментации в train_transforms. Используем случайное горизонтальное отражение и поворот на случайный угол от 0 до 45 градусов. Код для создания набора данных и DataLoader остаётся прежним. В конце вы измените форму изображения и отобразите его, чтобы убедиться, что новые преобразования применились.
Все необходимые импорты уже выполнены:
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms
import matplotlib.pyplot as plt
Пора приступить к аугментации фотографий облаков!
Это упражнение является частью курса
Глубокое обучение на 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()