我注意到在使用fit_generator
时,通常将steps_per_epoch
参数赋值为total_samples//batch_size
。
但是如果我的total_samples
是1000,batch_size=32
,那么看起来我应该有31.25批次,但我每个epoch只分配了31批次。
这是否意味着我将无法训练不完整的批次?
我假设shuffle
选项会解决这个问题,但如果我使用自定义生成器,shuffle
选项仍然有效吗?
我注意到在使用fit_generator
时,通常将steps_per_epoch
参数赋值为total_samples//batch_size
。
但是如果我的total_samples
是1000,batch_size=32
,那么看起来我应该有31.25批次,但我每个epoch只分配了31批次。
这是否意味着我将无法训练不完整的批次?
我假设shuffle
选项会解决这个问题,但如果我使用自定义生成器,shuffle
选项仍然有效吗?
是的,在这里你只需要完成31个步骤。你需要做的就是:
numpy.ceil(total_samples//batch_size)
由于该模型可以接受任意数量的输入,因此即使最后一批少于32个,它也可以正常工作。
total_samples//batch_size
是整数除法。你只需要一个斜杠。 - DollarAkshay