当前位置: 代码迷 >> 综合 >> ValueError:Expected more than 1 value per channel when training,got input size torch.size([])
  详细解决方案

ValueError:Expected more than 1 value per channel when training,got input size torch.size([])

热度:21   发布时间:2023-11-27 01:09:28.0

在这里插入图片描述

首先,遇到的错误是:ValueError:Expected more than 1 value per channel when training…

解决方式:

1、复制问题,百度。

在博客上找到了很多的相关处理方式,大部分都是认为这是一个训练和测试时通道不一致的问题。但是,我仔细检查了我的网络构造,我觉得在这个方面好像没啥问题。

2、带着疑问,继续百度。

最后,终于发现了问题所在——“在网络训练过程中,我们的batchsize(例如3)的设置,会将数据集(例如10)平均分开。但如若数据集的总数量,不能整除batchsize,那么就会将剩下的数据集归为一类(分类为:3,3,3,1。)。此时,问题来了,我们第四类中的1就会产生该错误。

3、处理方式

处理方式有两种:

  1. 删除该数据集中的多出的数据(如:将前面例子数据集的数量从10,减少为9.此时可以均分数据)————不推荐,因为不能随意减少数据集的数量
  2. 修改batchsize的数值,使它最好能被数据集整除,总之不能使其余数为1(如:10%3=1 ×)
  相关解决方案