Modelo de duas entradas
Com os dados prontos, é hora de criar a arquitetura do modelo de duas entradas! Para isso, você configurará uma classe de modelo com os seguintes métodos:
.__init__(), em que você definirá sub-redes agrupando camadas; é aqui que você define as duas camadas para processar as duas entradas e o classificador que retorna uma pontuação de classificação para cada classe.forward(), no qual você passará ambas as entradas por sub-redes predefinidas correspondentes, concatenará as saídas e as passará para o classificador.
torch.nn já está importado para você como nn. Vamos lá!
Este exercício faz parte do curso
Aprendizagem profunda intermediária com PyTorch
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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),
)