Architettura del modello a due output
In questo esercizio costruirai un'architettura di rete neurale multi-output in grado di prevedere sia il carattere sia l'alfabeto.
Ricorda la struttura generale: nel metodo .__init__() definisci i layer che userai poi nel forward pass. Nel metodo forward() farai prima passare l'immagine di input attraverso un paio di layer per ottenere il suo embedding, che a sua volta verrà inviato a due layer di classificazione distinti, uno per ciascun output.
torch.nn è già importato con il suo alias abituale, quindi costruiamo un modello!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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
____ = ____
____ = ____