class_docstr: Fit and predict one or more estimators on one or more datasets.
class_docstr_tok: ["Fit","and","predict","one","or","more","estimators","on","one","or","more","datasets","."]
docstr: Orchestration iterator.
docstr_tok: ["Orchestration","iterator","."]
code: def _iter(self):
      """Orchestration iterator."""
      # TODO: check if datasets are skipped entirely because predictions
      #  already exists before loading data,
      #  maybe do a dry-run first to find out which datasets to skip?
      for task, dataset in zip(self.tasks, self.datasets):
          # update counters
          self._strategy_counter = 0
          self._dataset_counter += 1
  
          # load data into memory from dataset hook
          data = dataset.load()
  
          # get target in case stratified cross-validation is used
          y = data[task.target]
  
          for strategy in self.strategies:
              self._strategy_counter += 1  # update counter
  
              for cv_fold, (train_idx, test_idx) in enumerate(
                  self.cv.split(data, y)
              ):
                  # for each fold, clone strategy to avoid updating
                  # already fitted strategies
                  strategy = clone(strategy)
  
                  yield (
                      task,
                      dataset,
                      data,
                      strategy,
                      cv_fold,
                      train_idx,
                      test_idx,
                  )
  
file_path: sktime/sktime/benchmarking/orchestration.py
imports: import logging
  import pandas
  from sklearn.base import clone
  from sktime.benchmarking.tasks import TSCTask, TSRTask
label_desc: Use image node_id 2 for calling the Orchestrator obj's underlying member method code with example usage: obj._iter() without return types