Построение свёрточных сетей
Вы работаете в команде, разрабатывающей систему прогнозирования погоды. В рамках этой системы в различных точках будут установлены камеры для съёмки неба. Ваша задача — создать модель для классификации типов облаков на этих снимках: это поможет отслеживать приближающиеся погодные фронты.
Вы решаете построить свёрточный классификатор изображений. Модель будет состоять из двух частей:
- Экстрактор признаков, который учится извлекать вектор признаков из входного изображения,
- Классификатор, который предсказывает класс изображения на основе извлечённых признаков.
torch и torch.nn as nn уже импортированы, так что приступим!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class Net(nn.Module):
def __init__(self, num_classes):
super().__init__()
# Define feature extractor
self.feature_extractor = nn.Sequential(
nn.Conv2d(3, 32, kernel_size=3, padding=1),
nn.ELU(),
nn.MaxPool2d(kernel_size=2),
____,
____,
____,
____,
)