【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)

 


版权声明:本文为weixin_41513917原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。