我在项目中使用keras是新手。我一直在模型中使用generator
。
我真的很困惑我应该输入什么值
1)在fit_generator中:steps_per_epoch和validation_steps?
2)Evaluation_generator:步骤?
3)预测生成器:步骤?
我已经提到了keras documentation和其他几个stack1,stack2问题。我听不懂更好的是,我可以提供有关数据形状的示例,以说明我目前的工作方式,并相应地回答我的问题。另外,如果我的理解有误,请更正
model.fit_generator(trainGen, steps_per_epoch=25, epochs = 100, validation_data=ValGen, validation_steps= 4)
第一季度:每个时期都有25 steps
。对于每个步骤,trainGen
都会产生形状为(244*100*4, 244*100*2)
的元组并进行训练。
我的
batch_size
和我的batches
和steps_per_epoch is 25
是什么?
第二季度:
我知道val_acc and val_loss
将在25th step of the an epoch
的末尾计算。我选择我的validation_steps = 4
。因此ValGen
产生一个形状为(30*100*4, 30*100*2) 4 times at the end of 25th step of an epoch
我已任意选择
validation_steps = 4.
,但如何选择validation_steps
的正确数量?val_loss & val_acc
如何 计算过的? (以单批或四次计算平均值 使用batch_size)
第三季度:
例如,在evaluate_generator & predict_generator
中,生成器为这两个生成了元组形状(30*100*4, 30*100*2)
。
如何为两个
steps
参数选择正确的数字evaluate_generator & predict_generator
?在keras文件中,它表示为停止前从发生器产生的步骤总数(样本批次)?In my case what will the batches of samples ?
如果需要任何其他信息,请告诉我。
答案 0 :(得分:2)
步骤不是您“选择”的参数,您可以将其计算为:
steps = number of samples / batch size
因此,这里您唯一可以选择的参数是批处理大小,该值选择为训练时模型不会用完内存的值。典型值在32到64之间。
对于训练集,使用训练集的样本数,然后将其除以训练批次大小,对于验证集,将验证集中的样本数除以验证批数。两个批次的大小可以相等。
这适用于所有使用生成器的函数。