在没有检查点的情况下在训练中运行评估的挂钩。
继承自:SessionRunHook
用法
tf.estimator.experimental.InMemoryEvaluatorHook(
estimator, input_fn, steps=None, hooks=None, name=None, every_n_iter=100
)
参数
-
estimator
调用评估的tf.estimator.Estimator
实例。 -
input_fn
相当于input_fn
参数为estimator.evaluate
.构造用于评估的输入数据的函数。看创建输入函数了解更多信息。该函数应构造并返回以下内容之一:- 'tf.data.Dataset' 对象:
Dataset
对象的输出必须是具有与以下相同约束的元组(特征、标签)。 - 元组(特征,标签):其中
features
是Tensor
或字符串特征名称字典Tensor
和labels
是Tensor
或字符串标签名称字典Tensor
。features
和labels
都被model_fn
消耗。它们应该满足输入对model_fn
的期望。
- 'tf.data.Dataset' 对象:
-
steps
等效于steps
arg 到estimator.evaluate
。评估模型的步骤数。如果None
,评估直到input_fn
引发 end-of-input 异常。 -
hooks
等效于hooks
arg 到estimator.evaluate
。SessionRunHook
子类实例列表。用于评估调用中的回调。 -
name
等效于name
arg 到estimator.evaluate
。如果用户需要对不同的数据集(例如训练数据与测试数据)运行多个评估,则评估的名称。不同评估的指标保存在单独的文件夹中,并单独显示在 tensorboard 中。 -
every_n_iter
int
,每 N 次训练迭代运行一次评估器。
抛出
-
ValueError
如果every_n_iter
是非正数或者不是单机训练
例子:
def train_input_fn():
...
return train_dataset
def eval_input_fn():
...
return eval_dataset
estimator = tf.estimator.DNNClassifier(...)
evaluator = tf.estimator.experimental.InMemoryEvaluatorHook(
estimator, eval_input_fn)
estimator.train(train_input_fn, hooks=[evaluator])
这种方法的当前局限性是:
- 它不支持multi-node 分布式模式。
- 它不支持变量以外的可保存对象(例如增强树支持)
- 它不支持自定义保护程序逻辑(例如 ExponentialMovingAverage 支持)
相关用法
- Python tf.estimator.experimental.stop_if_lower_hook用法及代码示例
- Python tf.estimator.experimental.stop_if_no_increase_hook用法及代码示例
- Python tf.estimator.experimental.LinearSDCA用法及代码示例
- Python tf.estimator.experimental.RNNClassifier用法及代码示例
- Python tf.estimator.experimental.make_early_stopping_hook用法及代码示例
- Python tf.estimator.experimental.stop_if_higher_hook用法及代码示例
- Python tf.estimator.experimental.RNNEstimator用法及代码示例
- Python tf.estimator.experimental.stop_if_no_decrease_hook用法及代码示例
- Python tf.estimator.TrainSpec用法及代码示例
- Python tf.estimator.LogisticRegressionHead用法及代码示例
- Python tf.estimator.MultiHead用法及代码示例
- Python tf.estimator.PoissonRegressionHead用法及代码示例
- Python tf.estimator.WarmStartSettings用法及代码示例
- Python tf.estimator.RunConfig用法及代码示例
- Python tf.estimator.MultiLabelHead用法及代码示例
- Python tf.estimator.BaselineEstimator用法及代码示例
- Python tf.estimator.DNNLinearCombinedEstimator用法及代码示例
- Python tf.estimator.Estimator用法及代码示例
- Python tf.estimator.LinearRegressor用法及代码示例
- Python tf.estimator.LinearEstimator用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.estimator.experimental.InMemoryEvaluatorHook。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。