Session-like object that handles initialization, recovery and hooks.
tf.compat.v1.train.MonitoredSession( session_creator=None, hooks=None, stop_grace_period_secs=120 )
saver_hook = CheckpointSaverHook(...) summary_hook = SummarySaverHook(...) with MonitoredSession(session_creator=ChiefSessionCreator(...), hooks=[saver_hook, summary_hook]) as sess: while not sess.should_stop(): sess.run(train_op)
Initialization: At creation time the monitored session does following things in given order:
hook.begin()
for each given hookscaffold.finalize()
Scaffold
hook.after_create_session()
Run: When run()
is called, the monitored session does following things:
hook.before_run()
session.run()
with merged fetches and feed_dicthook.after_run()
session.run()
asked by userAbortedError
or UnavailableError
occurs, it recovers or reinitializes the session before executing the run() call againExit: At the close()
, the monitored session does following things in order:
hook.end()
OutOfRange
error which indicates that all inputs have been processed if the monitored_session is used as a contextHow to set tf.compat.v1.Session
arguments:
MonitoredSession( session_creator=ChiefSessionCreator(master=..., config=...))
MonitoredSession( session_creator=WorkerSessionCreator(master=..., config=...))
See MonitoredTrainingSession
for an example usage based on chief or worker.
Note: This is not a tf.compat.v1.Session
. For example, it cannot do following:
Args | |
---|---|
session_creator | A factory object to create session. Typically a ChiefSessionCreator which is the default one. |
hooks | An iterable of `SessionRunHook' objects. |
Returns | |
---|---|
A MonitoredSession object. |
Args | |
---|---|
session_creator | A factory object to create session. Typically a ChiefSessionCreator or a WorkerSessionCreator . |
hooks | An iterable of SessionRunHook' objects. </td> </tr><tr> <td> should_recover</td> <td> A bool. Indicates whether to recover from AbortedErrorand UnavailableErroror not. </td> </tr><tr> <td> stop_grace_period_secs</td> <td> Number of seconds given to threads to stop after close()` has been called. |
Attributes | |
---|---|
graph | The graph that was launched in this session. |
close
close()
run
run( fetches, feed_dict=None, options=None, run_metadata=None )
Run ops in the monitored session.
This method is completely compatible with the tf.Session.run()
method.
Args | |
---|---|
fetches | Same as tf.Session.run() . |
feed_dict | Same as tf.Session.run() . |
options | Same as tf.Session.run() . |
run_metadata | Same as tf.Session.run() . |
Returns | |
---|---|
Same as tf.Session.run() . |
run_step_fn
run_step_fn( step_fn )
Run ops using a step function.
Returns | |
---|---|
Returns the returned value of step_fn . |
Raises | |
---|---|
StopIteration | if step_fn has called request_stop() . It may be caught by with tf.MonitoredSession() to close the session. |
ValueError | if step_fn doesn't have a single argument called step_context . It may also optionally have self for cases when it belongs to an object. |
should_stop
should_stop()
__enter__
__enter__()
__exit__
__exit__( exception_type, exception_value, traceback )
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/train/MonitoredSession