Архитектура модели с двумя выходами
В этом упражнении вы построите архитектуру многовыходной нейронной сети, способной предсказывать символ и алфавит.
Вспомните общую структуру: в методе .__init__() определяются слои, которые затем используются в прямом проходе. В методе forward() входное изображение сначала проходит через несколько слоёв и преобразуется в эмбеддинг (векторное представление), который затем подаётся в два отдельных классификатора — по одному для каждого выхода.
torch.nn уже импортирован под стандартным псевдонимом, так что приступим к построению модели!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class Net(nn.Module):
def __init__(self):
super().__init__()
self.image_layer = nn.Sequential(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
# Define the two classifier layers
____ = ____
____ = ____