<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run(self, batch: Batch, train: bool=False, stream: StreamWrapper=None) -> Batch: """ 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`` """

        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}