docstr: Helper to read scalar or tensor data from the multiplexer.
  
  Args:
    convert_event: Takes `plugin_event_accumulator.TensorEvent` to
      either `provider.ScalarDatum` or `provider.TensorDatum`.
    index: The result of `self._index(...)`.
    downsample: Non-negative `int`; how many samples to return per
      time series.
  
  Returns:
    A dict of dicts of values returned by `convert_event` calls,
    suitable to be returned from `read_scalars` or `read_tensors`.
docstr_tok: ["Helper","to","read","scalar","or","tensor","data","from","the","multiplexer",".","Args",":","convert_event",":","Takes","`","plugin_event_accumulator.TensorEvent","`","to","either","`","provider.ScalarDatum","`","or","`","provider.TensorDatum","`",".","index",":","The","result","of","`","self._index","(","...",")","`",".","downsample",":","Non-negative","`","int","`",";","how","many","samples","to","return","per","time","series",".","Returns",":","A","dict","of","dicts","of","values","returned","by","`","convert_event","`","calls",",","suitable","to","be","returned","from","`","read_scalars","`","or","`","read_tensors","`","."]
code: def _read(self, convert_event, index, downsample):
      """Helper to read scalar or tensor data from the multiplexer.
  
      Args:
        convert_event: Takes `plugin_event_accumulator.TensorEvent` to
          either `provider.ScalarDatum` or `provider.TensorDatum`.
        index: The result of `self._index(...)`.
        downsample: Non-negative `int`; how many samples to return per
          time series.
  
      Returns:
        A dict of dicts of values returned by `convert_event` calls,
        suitable to be returned from `read_scalars` or `read_tensors`.
      """
      result = {}
      for run, tags_for_run in index.items():
          result_for_run = {}
          result[run] = result_for_run
          for tag, metadata in tags_for_run.items():
              events = self._multiplexer.Tensors(run, tag)
              data = [convert_event(e) for e in events]
              result_for_run[tag] = _downsample(data, downsample)
      return result
  
imports: import base64
  import collections
  import json
  import random
  from tensorboard import errors
  from tensorboard.compat.proto import summary_pb2
  from tensorboard.data import provider
  from tensorboard.util import tb_logging
  from tensorboard.util import tensor_util
label_desc: Use image node_id 18 for calling the MultiplexerDataProvider obj's underlying member method code with example usage: obj._read(convert_event, index, downsample) and returns: result