class_docstr: An input embedder is the first part of the network, which takes the input from the state and produces a vector
  embedding by passing it through a neural network. The embedder will mostly be input type dependent, and there
  can be multiple embedders in a single network
class_docstr_tok: ["An","input","embedder","is","the","first","part","of","the","network",",","which","takes","the","input","from","the","state","and","produces","a","vector","embedding","by","passing","it","through","a","neural","network",".","The","embedder","will","mostly","be","input","type","dependent",",","and","there","can","be","multiple","embedders","in","a","single","network"]
docstr: Wrapper for building the module graph including scoping and loss creation
  :param prev_input_placeholder: the input to the graph
  :return: the input placeholder and the output of the last layer
docstr_tok: ["Wrapper","for","building","the","module","graph","including","scoping","and","loss","creation",":","param","prev_input_placeholder",":","the","input","to","the","graph",":","return",":","the","input","placeholder","and","the","output","of","the","last","layer"]
code: def __call__(
      self, prev_input_placeholder: tf.placeholder = None
  ) -> Tuple[tf.Tensor, tf.Tensor]:
      """
      Wrapper for building the module graph including scoping and loss creation
      :param prev_input_placeholder: the input to the graph
      :return: the input placeholder and the output of the last layer
      """
      with tf.variable_scope(self.get_name()):
          if prev_input_placeholder is None:
              self.input = tf.placeholder(
                  "float",
                  shape=[None] + self.input_size,
                  name=self.get_name(),
              )
          else:
              self.input = prev_input_placeholder
          self._build_module()
  
      return self.input, self.output
  
file_path: coach/rl_coach/architectures/tensorflow_components/embedders/embedder.py
imports: from typing import List, Union, Tuple
  import copy
  import numpy
  import tensorflow
  from rl_coach.architectures.tensorflow_components.layers import BatchnormActivationDropout, convert_layer, Dense, Flatten
  from rl_coach.base_parameters import EmbedderScheme, NetworkComponentParameters
  from rl_coach.core_types import InputEmbedding
  from rl_coach.utils import force_list
label_desc: Use image node_id 2 for calling the InputEmbedder obj's underlying member method code with example usage: obj.__call__(prev_input_placeholder) and returns: self,  self