class_docstr: Abstract base class for streaming metrics.
  
  Streaming metrics keep track of the last (upto) K values of the metric in a
  Deque buffer of size K. Calling result() will return the average value of the
  items in the buffer.
code: def call(self, trajectory: traj.Trajectory):
      if not self._batch_size:
          if trajectory.step_type.ndim == 0:
              self._batch_size = 1
          else:
              assert trajectory.step_type.ndim == 1
              self._batch_size = trajectory.step_type.shape[0]
          self.reset()
      if trajectory.step_type.ndim == 0:
          trajectory = nest_utils.batch_nested_array(trajectory)
      self._batched_call(trajectory)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  from typing import Any, Iterable, Optional, Text
  import gin
  import numpy
  import six
  from tf_agents.metrics import py_metric
  from tf_agents.trajectories import trajectory
  from tf_agents.typing import types
  from tf_agents.utils import nest_utils
  from tf_agents.utils import numpy_storage
label_desc: Use image node_id 8 for calling the StreamingMetric obj's underlying member method code with example usage: obj.call(trajectory) without return types