В PyTorch я хочу создать скрытый слой, чьи нейроны не полностью связаны с выходным слоем.Я пытаюсь объединить выходные данные двух линейных слоев, но сталкиваюсь со следующей ошибкой:
RuntimeError: несоответствие размера, m1: [2 x 2], м2: [4 x 4]
мой текущий код:
class NeuralNet2(nn.Module):
def __init__(self):
super(NeuralNet2, self).__init__()
self.input = nn.Linear(2, 40)
self.hiddenLeft = nn.Linear(40, 2)
self.hiddenRight = nn.Linear(40, 2)
self.out = nn.Linear(4, 4)
def forward(self, x):
x = self.input(x)
xLeft, xRight = torch.sigmoid(self.hiddenLeft(x)), torch.sigmoid(self.hiddenRight(x))
x = torch.cat((xLeft, xRight))
x = self.out(x)
return x
Я не понимаю, почему существует несоответствие размера?Есть ли альтернативный способ реализации не полностью связанных слоев в pytorch?