class_docstr: A head is the final part of the network. It takes the embedding from the middleware embedder and passes it through
  a neural network to produce the output of the network. There can be multiple heads in a network, and each one has
  an assigned loss function. The heads are algorithm dependent.
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, input_layer):
      """
      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
  
imports: import numpy
  import tensorflow
  from tensorflow.python.ops.losses.losses_impl import Reduction
  from rl_coach.architectures.tensorflow_components.layers import Dense, convert_layer_class
  from rl_coach.base_parameters import AgentParameters
  from rl_coach.spaces import SpacesDefinition
  from rl_coach.utils import force_list
  from rl_coach.architectures.tensorflow_components.utils import squeeze_tensor
label_desc: Use image node_id 3 for calling the Head obj's underlying member method code with example usage: obj._build_module(input_layer) without return types