code: def _get_output_type_by_cls(cls):
      for tp in OutputType.__members__.values():
          try:
              tileable_types = _OUTPUT_TYPE_TO_TILEABLE_TYPES[tp]
              chunk_types = _OUTPUT_TYPE_TO_CHUNK_TYPES[tp]
              if issubclass(cls, (tileable_types, chunk_types)):
                  return tp
          except KeyError:  # pragma: no cover
              continue
      raise TypeError("Output can only be tensor, dataframe or series")
  
file_path: mars/mars/core/entity/output_types.py
imports: import functools
  from enum import Enum
  from .fuse import FUSE_CHUNK_TYPE
  from .objects import OBJECT_TYPE, OBJECT_CHUNK_TYPE
label_desc: Use image node_id 6 for calling a global function with example usage: _get_output_type_by_cls(cls) and returns: tp