Набор данных с аугментациями
Вы уже создали набор данных из изображений облаков и свёрточную модель для классификации их типов. Прежде чем приступить к обучению, давайте доработаем набор данных — добавим аугментации, которые помогут улучшить качество классификации.
Код для настройки Dataset и DataLoader уже подготовлен и должен быть вам знаком. Ваша задача — определить набор преобразований, которые будут применяться к входным изображениям при загрузке.
Обратите внимание: ранее вы изменяли размер изображений до 128 × 128 пикселей для удобного отображения, но теперь будем использовать меньший размер, чтобы ускорить обучение. Как вы убедитесь далее, размера 64 × 64 вполне достаточно для того, чтобы модель успешно обучилась.
from torchvision import transforms уже выполнен за вас — приступайте!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Инструкции к упражнению
- Определите
train_transforms, объединив пять преобразований: случайное горизонтальное отражение, случайный поворот (на угол от 0 до 45 градусов), случайную автоматическую настройку контрастности, преобразование в тензор и изменение размера до 64 × 64 пикселей.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define transforms
train_transforms = transforms.Compose([
____,
____,
____,
____,
____,
])
dataset_train = ImageFolder(
"clouds_train",
transform=train_transforms,
)
dataloader_train = DataLoader(
dataset_train, shuffle=True, batch_size=16
)