Open pppihf opened 3 years ago
if len(batches) % self.n_batches != 0: self.residue = True
当batches的长度正好是batch个数的倍数,但又不是batch_size的倍数的时候,上面的代码就不起作用了。 比如当len(batches)=3870, batch_size=128的时候,self.n_batches=30,分好的数据只有30*128=3840条。 经过尝试,可以做如下修改:
len(batches)=3870, batch_size=128
self.n_batches=30
30*128=3840
if self.n_batches != 0: if len(batches) % self.batch_size != 0: self.residue = True else: if len(batches) - self.batch_size != 0: self.residue = True
这样还考虑到了总样本数比batch_size小的情况,谢谢~
同意上述!
建议做如下修改
if self.n_batches==0 or len(batches) != self.n_batches * batch_size: self.residue = True
build_iterator是不是没有在每个epoch训练过程中打乱训练数据
当batches的长度正好是batch个数的倍数,但又不是batch_size的倍数的时候,上面的代码就不起作用了。 比如当
len(batches)=3870, batch_size=128
的时候,self.n_batches=30
,分好的数据只有30*128=3840
条。 经过尝试,可以做如下修改:这样还考虑到了总样本数比batch_size小的情况,谢谢~