Модель с двумя входами
Данные готовы — теперь пора построить архитектуру модели с двумя входами! Для этого вы создадите класс модели со следующими методами:
.__init__(), в котором вы определите подсети, объединив слои в группы: здесь задаются два слоя для обработки двух входов, а также классификатор, возвращающий оценку принадлежности к каждому классу.forward(), в котором оба входа пропускаются через соответствующие заранее определённые подсети, их выходы объединяются и передаются в классификатор.
torch.nn уже импортирован как nn. Приступим!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define sub-networks as sequential models
____ = ____(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
____ = ____(
nn.Linear(30, 8),
nn.ELU(),
)
____ = ____(
nn.Linear(128 + 8, 964),
)