Given graph, a directory to write summaries to (output_dir), a checkpoint
to restore variables from, and a dict of Tensors to evaluate, run an eval
loop for max_steps steps, or until an exception (generally, an
end-of-input signal from a reader operation) is raised from running
eval_dict.
In each step of evaluation, all tensors in the eval_dict are evaluated, and
every log_every_steps steps, they are logged. At the very end of evaluation,
a summary is evaluated (finding the summary ops using Supervisor's logic)
and written to output_dir.
Args
graph
A Graph to train. It is expected that this graph is not in use
elsewhere.
output_dir
A string containing the directory to write a summary to.
checkpoint_path
A string containing the path to a checkpoint to restore.
Can be None if the graph doesn't require loading any variables.
eval_dict
A dict mapping string names to tensors to evaluate. It is
evaluated in every logging step. The result of the final evaluation is
returned. If update_op is None, then it's evaluated in every step. If
max_steps is None, this should depend on a reader that will raise an
end-of-input exception when the inputs are exhausted.
update_op
A Tensor which is run in every step.
global_step_tensor
A Variable containing the global step. If None,
one is extracted from the graph using the same logic as in Supervisor.
Used to place eval summaries on training curves.
supervisor_master
The master string to use when preparing the session.
log_every_steps
Integer. Output logs every log_every_steps evaluation
steps. The logs contain the eval_dict and timing information.
feed_fn
A function that is called every iteration to produce a feed_dict
passed to session.run calls. Optional.
max_steps
Integer. Evaluate eval_dict this many times.
Returns
A tuple (eval_results, global_step):
eval_results
A dict mapping string to numeric values (int, float)
that are the result of running eval_dict in the last step. None if no
eval steps were run.