class_docstr: A phase that repeats its inner phases.
class_docstr_tok: ["A","phase","that","repeats","its","inner","phases","."]
code: def work_units(
      self, previous_phase: DatasetProvider
  ) -> Iterator[WorkUnit]:
      for _ in range(self._repetitions):
          # Each repetition, the "first" previous phase is the one preceeding the
          # repeat phase itself.
          prev_phase = previous_phase
          for phase in self._phase_factory:
              phase = phase()
              for work_unit in phase.work_units(prev_phase):
                  yield work_unit
              prev_phase = phase
      self._final_phase = prev_phase
  
file_path: adanet/adanet/experimental/phases/repeat_phase.py
imports: from typing import Callable, Iterable, Iterator, List
  from adanet.experimental.phases.phase import DatasetProvider
  from adanet.experimental.phases.phase import ModelProvider
  from adanet.experimental.phases.phase import Phase
  from adanet.experimental.work_units.work_unit import WorkUnit
  import tensorflow.compat.v2
label_desc: Use image node_id 2 for calling the RepeatPhase obj's underlying member method code with example usage: obj.work_units(previous_phase) without return types