我试图创建一个Pytorch神经网络,并不断得到这个错误
RuntimeError: mat1 and mat2 shapes cannot be multiplied (64x3072 and 1024x512)
下面是我创建模型的代码:
# Define model
class NeuralNetwork(nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__()
self.flatten = nn.Flatten()
self.linear_relu_stack = nn.Sequential(
nn.Linear(32*32, 512),
nn.ReLU(),
nn.Linear(512, 512),
nn.ReLU(),
nn.Linear(512, 10)
)
def forward(self, x):
x = self.flatten(x)
logits = self.linear_relu_stack(x)
return logits
model = NeuralNetwork()
print(model)
如能回信,不胜感激
这里有两个问题:
-
要么张量没有被平化,这在诸如64x1x3076大小的张量的情况下是可能的。
-
问题可能在代码中与你的模型无关,但在代码的训练循环中。请将这部分代码也添加。