class_docstr: Embedding projector.
class_docstr_tok: ["Embedding","projector","."]
docstr: Updates `self._configs` and `self._run_paths`.
code: def _update_configs(self):
      """Updates `self._configs` and `self._run_paths`."""
      if self.data_provider and self.logdir:
          # Create a background context; we may not be in a request.
          ctx = context.RequestContext()
          run_paths = {
              run.run_name: os.path.join(self.logdir, run.run_name)
              for run in self.data_provider.list_runs(
                  ctx, experiment_id=""
              )
          }
      else:
          run_paths = {}
      run_paths_changed = run_paths != self._run_paths
      self._run_paths = run_paths
  
      run_path_pairs = list(self._run_paths.items())
      self._append_plugin_asset_directories(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 in self._run_paths:
          run_path_pairs.append((".", self.logdir))
      if run_paths_changed or _latest_checkpoints_changed(
          self._configs, run_path_pairs
      ):
          self.readers = {}
          (
              self._configs,
              self.config_fpaths,
          ) = self._read_latest_config_files(run_path_pairs)
          self._augment_configs_with_checkpoint_info()
  
imports: import collections
  import functools
  import imghdr
  import mimetypes
  import os
  import threading
  import numpy
  from werkzeug import wrappers
  from google.protobuf import json_format
  from google.protobuf import text_format
  from tensorboard import context
  from tensorboard.backend.event_processing import plugin_asset_util
  from tensorboard.backend.http_util import Respond
  from tensorboard.compat import tf
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.projector import metadata
  from tensorboard.plugins.projector.projector_config_pb2 import ProjectorConfig
  from tensorboard.util import tb_logging
label_desc: Use image node_id 6 for calling the ProjectorPlugin obj's underlying member method code with example usage: obj._update_configs() without return types