我在我的项目中使用角语是新的。在我的模型中,我一直在与generator合作。
我真的很困惑,我应该输入什么价值?
( 1) fit_generator : steps_per_epoch & validation_steps? 2) evaluate_generator :步骤? 3) predict_generator :步骤?
我已经提到了keras文件和其他几个stack1,stack2的问题。我无法理解。更好地,我可以提供我的数据的例子,形状,我目前的工作,并跟随我的问题。另外,如果我的理解是错误的,请纠正
model.fit_generator(trainGen, steps_per_epoch=25, epochs = 100, validation_data=ValGen, validation_steps= 4)Q1:每一个时代都有25 steps。对于每个步骤,trainGen生成一个形状(244*100*4, 244*100*2)的元组并执行培训。
如果我的
batch_size和batches是steps_per_epoch is 25的话,那会是什么?
Q2: --我知道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是如何计算的?(将平均4倍计算为单批或使用batch_size)
Q3:例如,在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 ?。
如果需要更多的信息,请告诉我。
发布于 2019-07-29 13:36:11
步骤不是您“选择”的参数,您可以将其计算为:
steps = number of samples / batch size因此,在这里,您可以自由选择的唯一参数是批处理大小,它被选择为一个值,在该值中,模型在训练时不会耗尽内存。典型值在32到64之间。
对于培训集,使用培训集的样本数并将其划分为培训批次大小,而对于验证集,则使用验证集中的样本数与验证批大小进行除法。两个批次大小都可以相等。
这适用于所有使用生成器的函数。
https://stackoverflow.com/questions/57254669
复制相似问题