diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2017-01-10 18:08:39 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2017-01-10 18:25:53 -0800 |
commit | 6b9a5f7ef91da08cf30f078210fb1de8df2778b8 (patch) | |
tree | 96e27b4ac879cb3e3baa4d94db5e2ad04256e2ab | |
parent | eebb4457ed12cefa291e79d172fa94872ad90147 (diff) |
Change CheckpointSaverHook to only call SummaryWriterCache if the hook
is active.
Before the tfevents file was created even if the hook is never
installed, which confuses Tensorboard and can cause it to watch the wrong
file and not display updates.
Change: 144152846
-rw-r--r-- | tensorflow/python/training/basic_session_run_hooks.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tensorflow/python/training/basic_session_run_hooks.py b/tensorflow/python/training/basic_session_run_hooks.py index d7ec4795ec..b7dde8aa69 100644 --- a/tensorflow/python/training/basic_session_run_hooks.py +++ b/tensorflow/python/training/basic_session_run_hooks.py @@ -314,7 +314,6 @@ class CheckpointSaverHook(session_run_hook.SessionRunHook): raise ValueError("Exactly one of saver or scaffold must be provided.") self._saver = saver self._checkpoint_dir = checkpoint_dir - self._summary_writer = SummaryWriterCache.get(checkpoint_dir) self._save_path = os.path.join(checkpoint_dir, checkpoint_basename) self._scaffold = scaffold self._timer = SecondOrStepTimer(every_secs=save_secs, @@ -322,6 +321,7 @@ class CheckpointSaverHook(session_run_hook.SessionRunHook): self._listeners = listeners or [] def begin(self): + self._summary_writer = SummaryWriterCache.get(self._checkpoint_dir) self._global_step_tensor = training_util.get_global_step() if self._global_step_tensor is None: raise RuntimeError( @@ -401,10 +401,11 @@ class StepCounterHook(session_run_hook.SessionRunHook): every_secs=every_n_secs) self._summary_writer = summary_writer - if summary_writer is None and output_dir: - self._summary_writer = SummaryWriterCache.get(output_dir) + self._output_dir = output_dir def begin(self): + if self._summary_writer is None and self._output_dir: + self._summary_writer = SummaryWriterCache.get(self._output_dir) self._global_step_tensor = training_util.get_global_step() if self._global_step_tensor is None: raise RuntimeError( @@ -504,14 +505,15 @@ class SummarySaverHook(session_run_hook.SessionRunHook): "Exactly one of scaffold or summary_op must be provided.") self._summary_op = summary_op self._summary_writer = summary_writer - if summary_writer is None and output_dir: - self._summary_writer = SummaryWriterCache.get(output_dir) + self._output_dir = output_dir self._scaffold = scaffold self._timer = SecondOrStepTimer(every_secs=save_secs, every_steps=save_steps) # TODO(mdan): Throw an error if output_dir and summary_writer are None. def begin(self): + if self._summary_writer is None and self._output_dir: + self._summary_writer = SummaryWriterCache.get(self._output_dir) self._next_step = None self._global_step_tensor = training_util.get_global_step() if self._global_step_tensor is None: |