class_docstr: Base class for ensemble models.
  
  Args:
      config (Config): Configuration object specifying all the parameters of
          Ensemble.
      models (List[Model]): List of sub-model objects.
  
  Attributes:
      output_layer (OutputLayerBase): Responsible for computing loss and predictions.
      models (nn.ModuleList]): ModuleList container for sub-model objects.
docstr: Saves the modules of all sub_models in the `Ensemble`.
  
  Args:
      base_path (str): Path of base directory. Defaults to "".
      suffix (str): Suffix to add to the file name to save. Defaults to "".
docstr_tok: ["Saves","the","modules","of","all","sub_models","in","the","`","Ensemble","`",".","Args",":","base_path","(","str",")",":","Path","of","base","directory",".","Defaults","to","``","''",".","suffix","(","str",")",":","Suffix","to","add","to","the","file","name","to","save",".","Defaults","to","``","''","."]
code: def save_modules(self, base_path: str = "", suffix: str = "") -> None:
      """Saves the modules of all sub_models in the `Ensemble`.
  
      Args:
          base_path (str): Path of base directory. Defaults to "".
          suffix (str): Suffix to add to the file name to save. Defaults to "".
  
      """
      for model in self.models:
          model.save_modules(base_path, suffix)
  
imports: from copy import deepcopy
  from typing import Any, Dict, List
  import torch.nn
  from pytext.config import ConfigBase
  from pytext.config.component import create_model
  from pytext.data.tensorizers import Tensorizer
  from pytext.exporters import ModelExporter
  from pytext.models.model import Model
  from pytext.utils.usage import log_class_usage
label_desc: Use image node_id 5 for calling the EnsembleModel obj's underlying member method code with example usage: obj.save_modules(base_path, suffix) without return types