我开始使用 Keras 学习 CNN。我正在使用 theano 后端。
我不明白如何将值设置为:
batch_size
steps_per_epoch
validation_steps
如果我在训练集中有 240,000 个样本,在测试集中有 80,000 个样本,那么设置为batch_size
、steps_per_epoch
和的值应该是多少?validation_steps
我开始使用 Keras 学习 CNN。我正在使用 theano 后端。
我不明白如何将值设置为:
batch_size
steps_per_epoch
validation_steps
如果我在训练集中有 240,000 个样本,在测试集中有 80,000 个样本,那么设置为batch_size
、steps_per_epoch
和的值应该是多少?validation_steps
Github里有答案
model.fit_generator
要求输入数据集生成器无限运行。steps_per_epoch
steps_per_epoch
用于通过调用生成器时间来生成整个数据集- 而
epochs
给出模型在整个数据集上训练的次数。
来自 tensorflow_estimator/python/estimator/training.py
停止条件:
为了可靠地支持分布式和非分布式配置,模型训练唯一支持的停止条件是train_spec.max_steps
. 如果train_spec.max_steps
是None
,则模型将永远被训练。如果模型停止条件不同,请小心使用。例如,假设模型预计将使用一个 epoch 的训练数据进行训练,并且训练input_fn
配置为在经过一个 epoch 后抛出
OutOfRangeError
,epoch
这将停止
Estimator.train
. 对于 3-training-worker 分布式配置,每个training-worker 很可能独立完成整个 epoch。因此,模型将使用三个 epoch 的训练数据而不是一个 epoch 进行训练。