【问题标题】:Stopping criteria for pre-made estimators in TensorFlowTensorFlow 中预制估算器的停止标准
【发布时间】:2018-10-20 01:04:16
【问题描述】:

我在tf.estimator,尤其是DNNClassifier 对 TensorFlow 的估算器有疑问。上面写着documentation

max_steps:训练模型的总步数。如果None,则永远训练或训练直到input_fn 生成OutOfRange 错误或StopIteration 异常

datasets for estimators 的文档中提到,对于训练,您需要使用shuffle()repeat()batch_size 方法,以便数据集上的迭代器在遍历数据后停止一次。

这是否意味着像DNNClassifier 这样的预制估计器没有基于学习率或损失变化的停止标准?真的是只能根据你指定输入函数的方式或给出最大步数让这些模型停止训练吗?

【问题讨论】:

    标签: tensorflow machine-learning tensorflow-estimator


    【解决方案1】:

    TensforFlow 不会假定知道它应该停止在什么学习率或损失上。这是合理的,因为它们依赖于问题。您可以合理地争辩说,它可以根据给定数据类型的舍入误差推断出合理的限制(如果它们是一致的,例如 float32),但是应该更早地停止许多问题。所以没有合理的、广泛适用的默认值。

    但是,您可以使用回调自己控制此行为。 TensorFlow 包含 EarlyStopping 回调。你可以找到它的(python)文档here

    【讨论】:

      猜你喜欢
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      相关资源
      最近更新 更多