diff --git a/tensorboard/plugins/projector/projector_plugin.py b/tensorboard/plugins/projector/projector_plugin.py index 223dfbb48ac..6810565e745 100644 --- a/tensorboard/plugins/projector/projector_plugin.py +++ b/tensorboard/plugins/projector/projector_plugin.py @@ -342,9 +342,11 @@ def configs(self): """Returns a map of run paths to `ProjectorConfig` protos.""" run_path_pairs = list(self.run_paths.items()) self._append_plugin_asset_directories(run_path_pairs) - # If there are no summary event files, the projector should still work, - # treating the `logdir` as the model checkpoint directory. - if not run_path_pairs: + # Also accept the root logdir as a model checkpoint directory, + # so that the projector still works when there are no runs. + # (Case on `run` rather than `path` to avoid issues with + # absolute/relative paths on any filesystems.) + if not any(run == "." for (run, path) in run_path_pairs): run_path_pairs.append((".", self.logdir)) if self._run_paths_changed() or _latest_checkpoints_changed( self._configs, run_path_pairs