Эта ошибка связана с тем, что вы не указали размер вывода полностью подключенного слоя в ваших fc2 и fc3. Ниже приведен модифицированный код. Я добавил размер вывода, я не уверен, если это архитектура размера вывода, которую вы хотите. Но для демонстрации я поставил размер вывода. Пожалуйста, измените код и добавьте выходной размер согласно вашему требованию.
Помните, что выходной размер предыдущего полностью подключенного слоя должен быть входным размером следующего слоя F C. В противном случае это приведет к ошибке несоответствия размера.
import torch.nn as nn
import torch.nn.functional as F
## TODO: Define the NN architecture
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
# linear layer (784 -> 1 hidden node)
self.fc1 = nn.Linear(28 * 28, 512)
self.fc2 = nn.Linear(512 ,512*10)
self.fc3 = nn.Linear(512 * 10,10)
def forward(self, x):
# flatten image input
x = x.view(-1, 28 * 28)
# add hidden layer, with relu activation function
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = F.relu(self.fc3(x))
return x
# initialize the NN
model = Net()
print(model)