class_docstr: A middleware embedder is the middle part of the network. It takes the embeddings from the input embedders,
  after they were aggregated in some method (for example, concatenation) and passes it through a neural network
  which can be customizable but shared between the heads of the network
docstr: Builds the graph of the module
  This method is called early on from __call__. It is expected to store the graph
  in self.output.
  :param input_layer: the input to the graph
  :return: None
docstr_tok: ["Builds","the","graph","of","the","module","This","method","is","called","early","on","from","__call__",".","It","is","expected","to","store","the","graph","in","self.output",".",":","param","input_layer",":","the","input","to","the","graph",":","return",":","None"]
code: def _build_module(self) -> None:
      """
      Builds the graph of the module
      This method is called early on from __call__. It is expected to store the graph
      in self.output.
      :param input_layer: the input to the graph
      :return: None
      """
      pass
  
file_path: coach/rl_coach/architectures/tensorflow_components/middlewares/middleware.py
imports: import copy
  from typing import Union, Tuple
  import tensorflow
  from rl_coach.architectures.tensorflow_components.layers import BatchnormActivationDropout, convert_layer, Dense
  from rl_coach.base_parameters import MiddlewareScheme, NetworkComponentParameters
  from rl_coach.core_types import MiddlewareEmbedding
label_desc: Use image node_id 3 for calling the Middleware obj's underlying member method code with example usage: obj._build_module() without return types