class_docstr: Generates TaskSpecs for various tasks in Phoenix.
code: def __init__(self, phoenix_spec, logits_dimension, loss_fn, head):
      self._phoenix_spec = phoenix_spec
      self._ensemble_spec = phoenix_spec.ensemble_spec
      self._ensembler = ensembler.Ensembler(phoenix_spec)
      self._distiller = distillation.Distiller(
          phoenix_spec.distillation_spec
      )
      self._logits_dimension = logits_dimension
      self._loss_fn = loss_fn
      self._head = head
  
imports: import collections
  import functools
  import inspect
  from absl import logging
  from model_search import block_builder
  from model_search import ensembler
  from model_search.architecture import architecture_utils
  from model_search.architecture import tower
  from model_search.ensembler import EnsembleLogits
  from model_search.generators import base_tower_generator
  from model_search.generators import trial_utils
  from model_search.meta import distillation
  import numpy
  import tensorflow.compat.v2
label_desc: Use image node_id 1 to create a new TaskManager object from inherited base classes: object with example: obj = TaskManager(phoenix_spec, logits_dimension, loss_fn, head)