如题,我想从Keras转到Pytorch进行学习,想训练一个神经网络,输入图像的大小为28x28(其实就是MNIST)
以下是我的神经网络代码:
self.conv1 = nn.Conv2d(in_channels=1,out_channels=16,kernel_size=3,stride=1,padding=1)
self.pool1 = nn.MaxPool2d(kernel_size=2,stride=2)
self.relu1 = nn.ReLU()
self.norm1 = nn.BatchNorm2d(16)
self.conv2 = nn.Conv2d(in_channels=16,out_channels=32,kernel_size=3,stride=1,padding=1)
self.pool2 = nn.MaxPool2d(kernel_size=2,stride=2)
self.relu2 = nn.ReLU()
self.norm2 = nn.BatchNorm2d(32)
self.fc1 = nn.Linear(64*3*3,128)
self.softmax = nn.Softmax(dim=1)
self.fc2 = nn.Linear(128,10)
但是PytorchLightning报错:
RuntimeError: mat1 and mat2 shapes cannot be multiplied (64x1568 and 576x128)
我是真的发自内心的想问什么这里矩阵的计算会报错,以前在Keras上只需要设置好输入和输出,剩下的完全不需要操心,但是自从转Pytorch之后就是各种奇怪的问题,实话实说有点劝退了,太麻烦了。