首先,遇到的错误是:ValueError:Expected more than 1 value per channel when training…
解决方式:
1、复制问题,百度。
在博客上找到了很多的相关处理方式,大部分都是认为这是一个训练和测试时通道不一致的问题。但是,我仔细检查了我的网络构造,我觉得在这个方面好像没啥问题。
2、带着疑问,继续百度。
最后,终于发现了问题所在——“在网络训练过程中,我们的batchsize(例如3)的设置,会将数据集(例如10)平均分开。但如若数据集的总数量,不能整除batchsize,那么就会将剩下的数据集归为一类(分类为:3,3,3,1。)。此时,问题来了,我们第四类中的1就会产生该错误。
”
3、处理方式
处理方式有两种:
删除该数据集中的多出的数据
(如:将前面例子数据集的数量从10,减少为9.此时可以均分数据)————不推荐,因为不能随意减少数据集的数量修改batchsize的数值
,使它最好能被数据集整除,总之不能使其余数为1(如:10%3=1 ×)