在PyTorch中,我想创建一个隐藏层,它的神经元没有完全连接到输出层。我尝试连接两个线性层的输出,但遇到以下错误:
RuntimeError: size mismatch, m1: [2 x 2], m2: [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
我不明白为什么尺寸不匹配?在Pythorch中有没有实现非完全连接层的替代方法?在
结果证明,这是一个简单的理解问题与串联函数。 改变
x = torch.cat((xLeft, xRight))
到x = torch.cat((xLeft, xRight), dim=1)
成功了。 谢谢@dennlinger相关问题 更多 >
编程相关推荐