Model met twee invoeren
Nu de data klaar is, is het tijd om de architectuur met twee invoeren te bouwen! Je maakt hiervoor een modelklasse met de volgende methoden:
.__init__(), waarin je subnetwerken definieert door lagen te groeperen; hier definieer je de twee lagen voor het verwerken van de twee inputbronnen en de classifier die een classificatiescore voor elke klasse teruggeeft.forward(), waarin je beide inputs door de bijbehorende vooraf gedefinieerde subnetwerken stuurt, de outputs concateneert en deze door de classifier geeft.
torch.nn is al voor je geïmporteerd als nn. Aan de slag!
Deze oefening maakt deel uit van de cursus
Gevorderde Deep Learning met PyTorch
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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),
)