class_docstr: The execution engine will run every model in the current process.
  If multiple models have been submitted, they will be queued and run sequentially.
  
  Keyboard interrupt will terminate the currently running model and raise to let the main process know.
class_docstr_tok: ["The","execution","engine","will","run","every","model","in","the","current","process",".","If","multiple","models","have","been","submitted",",","they","will","be","queued","and","run","sequentially",".","Keyboard","interrupt","will","terminate","the","currently","running","model","and","raise","to","let","the","main","process","know","."]
code: def state_dict(self) -> dict:
      return {
          "model_count": self._model_count,
          "total_duration": self._total_duration,
      }
  
imports: from __future__ import annotations
  import logging
  import time
  import traceback
  from typing import Iterable, List, cast
  from typing_extensions import Literal
  import nni
  from nni.runtime.trial_command_channel import set_default_trial_command_channel, get_default_trial_command_channel, TrialCommandChannel
  from nni.nas.space import ExecutableModelSpace, ModelStatus
  from nni.typehint import ParameterRecord, Parameters, TrialMetric
  from .engine import ExecutionEngine
  from .event import FinalMetricEvent, IntermediateMetricEvent, TrainingEndEvent
label_desc: Use image node_id 8 for calling the SequentialExecutionEngine obj's underlying member method code with example usage: obj.state_dict() and returns: dict