НачатьНачать бесплатно

Аугментация данных в 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()
Редактировать и запускать код