class_docstr: A controller where the user specifies the sequences of phase to execute.
class_docstr_tok: ["A","controller","where","the","user","specifies","the","sequences","of","phase","to","execute","."]
code: def work_units(self) -> Iterator[WorkUnit]:
      previous_phase = None
      for phase in self._phases:
          for work_unit in phase.work_units(previous_phase):
              yield work_unit
          previous_phase = phase
  
file_path: adanet/adanet/experimental/controllers/sequential_controller.py
imports: from typing import Iterator, Sequence
  from adanet.experimental.controllers.controller import Controller
  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 SequentialController obj's underlying member method code with example usage: obj.work_units() without return types