【pytorch】Expected input batch_size (1) to match target batch_size (2). 报错解决

参考网址:

https://discuss.pytorch.org/t/valueerror-expected-input-batch-size-324-to-match-target-batch-size-4/24498

 

原因

感觉是因为,卷积之后获得了特征图,但是因为没有计算出正确的特征图的尺寸大小,在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)

 

你可能感兴趣的:(机器学习)