我必须找到一种创建神经网络模型并将其训练在MNIST数据集上的方法。我需要有5层,每层有100个神经元。但是,当我尝试进行此设置时,我收到一个错误,指出尺寸不匹配。你能帮忙吗?我希望可以在以下模型上进行训练:
class Mnist_DNN(nn.Module):
def __init__(self):
super().__init__()
self.layer1 = nn.Linear(784, 100)
self.layer2 = nn.Linear(100, 100)
self.layer3 = nn.Linear(100, 100)
self.layer4 = nn.Linear(100, 100)
self.layer5 = nn.Linear(100, 10)
def forward(self, xb):
xb = xb.view(-1, 1, 28, 28)
xb = F.relu(self.layer1(xb))
xb = F.relu(self.layer2(xb))
xb = F.relu(self.layer3(xb))
xb = F.relu(self.layer4(xb))
xb = F.relu(self.layer5(xb))
return self.layer5(xb)
答案 0 :(得分:0)
您可以设置图层以获取一批暗784(= 28 * 28)的一维矢量。但是,在forward
函数中,您将view
输入为一批大小为28 * 28的2D矩阵。
尝试将输入视为一批一维信号:
xb = xb.view(-1, 784)