Архітектура моделі з двома виходами
У цій вправі ви побудуєте архітектуру багатовихідної нейронної мережі, яка вміє прогнозувати і символ, і абетку.
Згадайте загальну структуру: у методі .__init__() ви визначаєте шари, які згодом використовуватимуться у прямому проході. У методі forward() ви спочатку пропустите вхідне зображення через кілька шарів, щоб отримати його вкладення (embedding — векторне представлення). Потім це вкладення подається на два окремі класифікатори — по одному для кожного виходу.
torch.nn вже імпортовано під звичним псевдонімом, тож створімо модель!
Ця вправа є частиною курсу
Середній рівень Deep Learning з 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
____ = ____
____ = ____