python – 早期停止使用tf.estimator,怎么样?
作者:互联网
我在TensorFlow 1.4中使用tf.estimator而且tf.estimator.train_and_evaluate非常棒,但我需要提前停止.添加它的首选方法是什么?
我假设在某处有一些tf.train.SessionRunHook.我看到有一个带有ValidationMonitor的旧的contrib包似乎已经提前停止了,但它似乎不再存在于1.4中了.或者未来的首选方式是依靠tf.keras(早期停止真的很容易)而不是tf.estimator / tf.layers / tf.data?
解决方法:
好消息! tf.estimator现在已经提前停止了对master的支持,看起来它将在1.10.
estimator = tf.estimator.Estimator(model_fn, model_dir)
os.makedirs(estimator.eval_dir()) # TODO This should not be expected IMO.
early_stopping = tf.contrib.estimator.stop_if_no_decrease_hook(
estimator,
metric_name='loss',
max_steps_without_decrease=1000,
min_steps=100)
tf.estimator.train_and_evaluate(
estimator,
train_spec=tf.estimator.TrainSpec(train_input_fn, hooks=[early_stopping]),
eval_spec=tf.estimator.EvalSpec(eval_input_fn))
标签:python,tensorflow,keras,neural-network,tensorflow-estimator 来源: https://codeday.me/bug/20191004/1851439.html