class_docstr: Encapsulates tensor normalization and owns normalization variables.
  
  Example usage:
  
  ```
  tensor_normalizer = StreamingTensorNormalizer(
      tf.TensorSpec([], tf.float32))
  observation_list = [list of float32 scalars or batches]
  normalized_list = []
  
  for o in observation_list:
    normalized_list.append(tensor_normalizer.normalize(o))
    tensor_normalizer.update(o)
  ```
  
  For float64 inputs do:
  ```
  tensor_normalizer = StreamingTensorNormalizer(
      tf.TensorSpec([], tf.float64), dtype=tf.float64)
  observation_list = [list of float64 scalars or batches]
  
  for o in observation_list:
    normalized_list.append(tensor_normalizer.normalize(o))
    tensor_normalizer.update(o)
docstr: Returns this normalizer's current estimates for mean & var (flat).
docstr_tok: ["Returns","this","normalizer","'s","current","estimates","for","mean","&","var","(","flat",")","."]
code: def _get_mean_var_estimates(self):
      """Returns this normalizer's current estimates for mean & var (flat)."""
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  from typing import Tuple
  import six
  import tensorflow
  from tf_agents.specs import tensor_spec
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 7 for calling the TensorNormalizer obj's underlying member method code with example usage: obj._get_mean_var_estimates() without return types