class_docstr: The model template for Multistage Forecast Estimator.
class_docstr_tok: ["The","model","template","for","Multistage","Forecast","Estimator","."]
docstr: Gets the model templates for each sub-model.
  
  These templates are for ``self.get_regressor_cols`` and ``self.get_lagged_regressor_info``
  to use to extract those information from each single model.
  
  Returns
  -------
  templates : `list` [`~greykite.framework.templates.base_template.BaseTemplate`]
      A list of model template class instances.
docstr_tok: ["Gets","the","model","templates","for","each","sub-model",".","These","templates","are","for","``","self.get_regressor_cols","``","and","``","self.get_lagged_regressor_info","``","to","use","to","extract","those","information","from","each","single","model",".","Returns","--","--","--","-","templates",":","`","list","`","[","`","~greykite.framework.templates.base_template.BaseTemplate","`","]","A","list","of","model","template","class","instances","."]
code: def __get_regressor_templates(self):
      """Gets the model templates for each sub-model.
  
      These templates are for ``self.get_regressor_cols`` and ``self.get_lagged_regressor_info``
      to use to extract those information from each single model.
  
      Returns
      -------
      templates : `list` [`~greykite.framework.templates.base_template.BaseTemplate`]
          A list of model template class instances.
      """
      if self.config.model_components_param.custom is None:
          return None
      multistage_forecast_configs = (
          self.config.model_components_param.custom.get(
              "multistage_forecast_configs", None
          )
      )
      if (
          multistage_forecast_configs is None
          or multistage_forecast_configs == []
      ):
          return []
      if isinstance(
          multistage_forecast_configs, MultistageForecastTemplateConfig
      ):
          multistage_forecast_configs = [multistage_forecast_configs]
      templates = []
      for config in multistage_forecast_configs:
          template = self.__get_template_class(
              ForecastConfig(model_template=config.model_template)
          )()
          template.df = self.df
          template.config = ForecastConfig(
              model_template=config.model_template,
              model_components_param=config.model_components,
          )
          templates.append(template)
      return templates
  
imports: from itertools import product
  from typing import Dict
  from typing import List
  from typing import Type
  import pandas
  from greykite.common import constants
  from greykite.common.logging import LoggingLevelEnum
  from greykite.common.logging import log_message
  from greykite.common.python_utils import unique_in_list
  from greykite.common.python_utils import update_dictionaries
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.base_template import BaseTemplate
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConfig
  from greykite.framework.templates.multistage_forecast_template_config import MultistageForecastTemplateConstants
  from greykite.sklearn.estimator.base_forecast_estimator import BaseForecastEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastEstimator
  from greykite.sklearn.estimator.multistage_forecast_estimator import MultistageForecastModelConfig
label_desc: Use image node_id 3 for calling the MultistageForecastTemplate obj's underlying member method code with example usage: obj.__get_regressor_templates() and returns: templates, None, list