训练时报错为:InvalidArgumentError (see above for traceback): Input to reshape is a tensor with 1966080 values, but the requested shape has 3145728
输入的数据是一个视频的图片序列,batch_size为8, 训练到第78步后报错,出现上面的问题。这个问题不是第一次出错了,之前训练到第五百多步也有这样的错误,我真的佛了。。。。前面都训练的好好的为甚数据大小突然间就变了?
这个问题在于整个数据集的数据数量不能被batch_size整除,当到最后一个batch时,剩余的图片只有5张,网络也将这5张图片输入进去进行reshape。因为我的reshape设置的图片形状为[batch_size, height, width, channels], 所以此时就会出现上面的错误。要解决这个错误,只需要在data.batch()设置参数drop_remainder=True即可自动将不足batch_size的数据抛弃。