class tf.train.GlobalStepWaiterHook

See the guide: Training > Training Hooks

Delay execution until global step reaches to wait_until_step.

This hook delays execution until global step reaches to wait_until_step. It is used to gradually start workers in distributed settings. One example usage would be setting wait_until_step=int(K*log(task_id+1)) assuming that task_id=0 is the chief.



Create a _GlobalStepWaiterHook.


  • wait_until_step: an int shows until which global step should we wait.

after_create_session(session, coord)

Called when new TensorFlow session is created.

This is called to signal the hooks that a new session has been created. This has two essential differences with the situation in which begin is called:

  • When this is called, the graph is finalized and ops can no longer be added to the graph.
  • This method will also be called as a result of recovering a wrapped session, not only at the beginning of the overall session.


  • session: A TensorFlow Session that has been created.
  • coord: A Coordinator object which keeps track of all threads.

after_run(run_context, run_values)

Called after each call to run().

The run_values argument contains results of requested ops/tensors by before_run().

The run_context argument is the same one send to before_run call. run_context.request_stop() can be called to stop the iteration.


  • run_context: A SessionRunContext object.
  • run_values: A SessionRunValues object.




Called at the end of session.

The session argument can be used in case the hook wants to run final ops, such as saving a last checkpoint.


  • session: A TensorFlow Session that will be soon closed.

Defined in tensorflow/python/training/