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

Модель с двумя входами

Данные готовы — теперь пора построить архитектуру модели с двумя входами! Для этого вы создадите класс модели со следующими методами:

  • .__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), 
        )
Редактировать и запускать код