class_docstr: A tensor embedder is an input embedder that takes a tensor with arbitrary dimension and produces a vector
  embedding by passing it through a neural network. An example is video data or 3D image data (i.e. 4D tensors)
  or other type of data that is more than 1 dimension (i.e. not vector) but is not an image.
  
  NOTE: There are no pre-defined schemes for tensor embedder. User must define a custom scheme by passing
  a callable object as InputEmbedderParameters.scheme when defining the respective preset. This callable
  object must accept a single input, the normalized observation, and return a Tensorflow symbol which
  will calculate an embedding vector for each sample in the batch.
  Keep in mind that the scheme is a list of Tensorflow symbols, which are stacked by optional batchnorm,
  activation, and dropout in between as specified in InputEmbedderParameters.
code: def __init__(
      self,
      input_size: List[int],
      activation_function=tf.nn.relu,
      scheme: EmbedderScheme = None,
      batchnorm: bool = False,
      dropout_rate: float = 0.0,
      name: str = "embedder",
      input_rescaling: float = 1.0,
      input_offset: float = 0.0,
      input_clipping=None,
      dense_layer=Dense,
      is_training=False,
      flatten=True,
  ):
      super().__init__(
          input_size,
          activation_function,
          scheme,
          batchnorm,
          dropout_rate,
          name,
          input_rescaling,
          input_offset,
          input_clipping,
          dense_layer=dense_layer,
          is_training=is_training,
          flatten=flatten,
      )
      self.return_type = InputTensorEmbedding
      assert (
          scheme is not None
      ), "Custom scheme (a list of callables) must be specified for TensorEmbedder"
  
file_path: coach/rl_coach/architectures/tensorflow_components/embedders/tensor_embedder.py
imports: from typing import List
  import tensorflow
  from rl_coach.architectures.tensorflow_components.layers import Conv2d, Dense
  from rl_coach.architectures.tensorflow_components.embedders.embedder import InputEmbedder
  from rl_coach.base_parameters import EmbedderScheme
  from rl_coach.core_types import InputTensorEmbedding
label_desc: Use image node_id 1 to create a new TensorEmbedder object from inherited base classes: InputEmbedder with example: obj = TensorEmbedder(input_size, activation_function, scheme, batchnorm, dropout_rate, name, input_rescaling, input_offset, input_clipping, dense_layer, is_training, flatten)