class_docstr: ABC for loss functions of each head. Child class must implement input_schema() and loss_forward()
class_docstr_tok: ["ABC","for","loss","functions","of","each","head",".","Child","class","must","implement","input_schema","(",")","and","loss_forward","(",")"]
docstr: Must be called on the output from hybrid_forward().
  Saves the returned output as the schema and returns output values in a list
  :return: list of output values
docstr_tok: ["Must","be","called","on","the","output","from","hybrid_forward","(",")",".","Saves","the","returned","output","as","the","schema","and","returns","output","values","in","a","list",":","return",":","list","of","output","values"]
code: def _loss_output(
      self, outputs: List[Tuple[Union[NDArray, Symbol], str]]
  ):
      """
      Must be called on the output from hybrid_forward().
      Saves the returned output as the schema and returns output values in a list
      :return: list of output values
      """
      output_schema = [o[1] for o in outputs]
      assert (
          self._output_schema is None
          or self._output_schema == output_schema
      )
      self._output_schema = output_schema
      return tuple(o[0] for o in outputs)
  
imports: from typing import Dict, List, Union, Tuple
  import mxnet
  from mxnet.initializer import Initializer, register
  from mxnet.gluon import nn, loss
  from mxnet.ndarray import NDArray
  from mxnet.symbol import Symbol
  from rl_coach.base_parameters import AgentParameters
  from rl_coach.spaces import SpacesDefinition
label_desc: Use image node_id 5 for calling the HeadLoss obj's underlying member method code with example usage: obj._loss_output(outputs) and returns: tuple