code: def run(self, batch: Batch, train: bool=False, stream: StreamWrapper=None) -> Batch:
          
          if train:
              raise ValueError('Ensemble model cannot be trained.')
          self._load_models()
  
          # run all the models in-order
          current_batch = dict(copy.deepcopy(batch))
          for model in self._models:
              current_batch.update(model.run(current_batch, False, None))
  
          return {key: current_batch[key] for key in self.output_names}
docs: Run all the models in-order and return accumulated outputs.
  
          N-th model is fed with the original inputs and outputs of all the models that were run before it.
  
          .. warning::
              :py:class:`Sequence` model can not be trained.
  
          :param batch: batch to be processed
          :param train: ``True`` if this batch should be used for model update, ``False`` otherwise
          :param stream: stream wrapper (useful for precise buffer management)
          :return: accumulated model outputs
          :raise ValueError: if the ``train`` flag is set to ``True``