首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解fit_generator (steps_per_epoch)、validation_steps、evaluate_generator (Steps)和predict_generator (steps)

理解fit_generator (steps_per_epoch)、validation_steps、evaluate_generator (Steps)和predict_generator (steps)
EN

Stack Overflow用户
提问于 2019-07-29 13:13:29
回答 1查看 2.1K关注 0票数 3

我在我的项目中使用角语是新的。在我的模型中,我一直在与generator合作。

我真的很困惑,我应该输入什么价值?

( 1) fit_generator : steps_per_epoch & validation_steps? 2) evaluate_generator :步骤? 3) predict_generator :步骤?

我已经提到了keras文件和其他几个stack1stack2的问题。我无法理解。更好地,我可以提供我的数据的例子,形状,我目前的工作,并跟随我的问题。另外,如果我的理解是错误的,请纠正

代码语言:javascript
复制
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_sizebatchessteps_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 ?

如果需要更多的信息,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-29 13:36:11

步骤不是您“选择”的参数,您可以将其计算为:

代码语言:javascript
复制
steps = number of samples / batch size

因此,在这里,您可以自由选择的唯一参数是批处理大小,它被选择为一个值,在该值中,模型在训练时不会耗尽内存。典型值在32到64之间。

对于培训集,使用培训集的样本数并将其划分为培训批次大小,而对于验证集,则使用验证集中的样本数与验证批大小进行除法。两个批次大小都可以相等。

这适用于所有使用生成器的函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57254669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档