参考网址:
原因
感觉是因为,卷积之后获得了特征图,但是因为没有计算出正确的特征图的尺寸大小,在x.view()的时候,输入错了尺寸,比如比原来大了一倍,所有的数据本来应该是2个batch, 结果变成了一个batch.
解决
在view这个函数之前打印一下当前特征图的大小。例如打印出来的大小是torch.Size([4, 64, 9, 9]),那么其实你的特征图大小是64*9*9,这就意味着在全连接层nn.Linear(64*9*9 , outnum).
x = self.pool(F.relu(...
print(x.shape)
x = x.view(x.size(0), -1)