class_docstr: This class ensembles the output from multiple BiDAF models.
  
  It combines results from the submodels by averaging the start and end span probabilities.
class_docstr_tok: ["This","class","ensembles","the","output","from","multiple","BiDAF","models",".","It","combines","results","from","the","submodels","by","averaging","the","start","and","end","span","probabilities","."]
code: def from_params(cls, vocab, params):  # type: ignore
      # pylint: disable=arguments-differ
      if vocab:
          raise ConfigurationError("vocab should be None")
  
      submodels = []
      paths = params.pop("submodels")
      for path in paths:
          submodels.append(load_archive(path).model)
  
      return cls(submodels=submodels)
  
file_path: magnitude/pymagnitude/third_party/allennlp/models/reading_comprehension/bidaf_ensemble.py
imports: from __future__ import division
  from __future__ import absolute_import
  import torch
  from allennlp.common.checks import ConfigurationError
  from allennlp.models.ensemble import Ensemble
  from allennlp.models.archival import load_archive
  from allennlp.models.model import Model
  from allennlp.models.reading_comprehension.bidaf import BidirectionalAttentionFlow
  from allennlp.common import Params
  from allennlp.data import Vocabulary
  from allennlp.training.metrics import SquadEmAndF1
label_desc: Use image node_id 4 for calling the BidafEnsemble obj's underlying member method code with example usage: obj.from_params(cls, vocab, params) and returns: cls