class_docstr: A generalized version of all possible networks implemented using tensorflow.
class_docstr_tok: ["A","generalized","version","of","all","possible","networks","implemented","using","tensorflow","."]
code: def _available_return_types(self):
      ret_dict = {cls: [] for cls in get_all_subclasses(PredictionType)}
  
      components = (
          self.input_embedders + [self.middleware] + self.output_heads
      )
      for component in components:
          if not hasattr(component, "return_type"):
              raise ValueError(
                  (
                      "{} has no return_type attribute. Without this, it is "
                      "unclear how this component should be used."
                  ).format(component)
              )
  
          if component.return_type is not None:
              ret_dict[component.return_type].append(component)
  
      return ret_dict
  
imports: import copy
  from types import MethodType
  from typing import Dict, List, Union
  import numpy
  import tensorflow
  from rl_coach.architectures.embedder_parameters import InputEmbedderParameters
  from rl_coach.architectures.head_parameters import HeadParameters
  from rl_coach.architectures.middleware_parameters import MiddlewareParameters
  from rl_coach.architectures.tensorflow_components.architecture import TensorFlowArchitecture
  from rl_coach.architectures.tensorflow_components import utils
  from rl_coach.base_parameters import AgentParameters, Device, DeviceType, EmbeddingMergerType
  from rl_coach.core_types import PredictionType
  from rl_coach.logger import screen
  from rl_coach.spaces import SpacesDefinition, PlanarMapsObservationSpace, TensorObservationSpace
  from rl_coach.utils import get_all_subclasses, dynamic_import_and_instantiate_module_from_params, indent_string
label_desc: Use image node_id 4 for calling the GeneralTensorFlowNetwork obj's underlying member method code with example usage: obj._available_return_types() and returns: ret_dict