docstr: Produce GeneratorRuns for multiple trials at once with the possibility of
  ensembling, or using multiple models per trial, getting multiple
  GeneratorRuns per trial.
  
  Args:
      experiment: Experiment, for which the generation strategy is producing
          a new generator run in the course of `gen`, and to which that
          generator run will be added as trial(s). Information stored on the
          experiment (e.g., trial statuses) is used to determine which model
          will be used to produce the generator run returned from this method.
      data: Optional data to be passed to the underlying model's `gen`, which
          is called within this method and actually produces the resulting
          generator run. By default, data is all data on the `experiment`.
      n: Integer representing how many trials should be in the generator run
          produced by this method. NOTE: Some underlying models may ignore
          the ``n`` and produce a model-determined number of arms. In that
          case this method will also output a generator run with number of
          arms that can differ from ``n``.
      pending_observations: A map from metric name to pending
          observations for that metric, used by some models to avoid
          resuggesting points that are currently being evaluated.
  
  Returns:
      A list of lists of lists generator runs. Each outer list represents
      a trial being suggested and  each inner list represents a generator
      run for that trial.
docstr_tok: ["Produce","GeneratorRuns","for","multiple","trials","at","once","with","the","possibility","of","ensembling",",","or","using","multiple","models","per","trial",",","getting","multiple","GeneratorRuns","per","trial",".","Args",":","experiment",":","Experiment",",","for","which","the","generation","strategy","is","producing","a","new","generator","run","in","the","course","of","`","gen","`",",","and","to","which","that","generator","run","will","be","added","as","trial","(","s",")",".","Information","stored","on","the","experiment","(","e.g.",",","trial","statuses",")","is","used","to","determine","which","model","will","be","used","to","produce","the","generator","run","returned","from","this","method",".","data",":","Optional","data","to","be","passed","to","the","underlying","model","'s","`","gen","`",",","which","is","called","within","this","method","and","actually","produces","the","resulting","generator","run",".","By","default",",","data","is","all","data","on","the","`","experiment","`",".","n",":","Integer","representing","how","many","trials","should","be","in","the","generator","run","produced","by","this","method",".","NOTE",":","Some","underlying","models","may","ignore","the","``","n","``","and","produce","a","model-determined","number","of","arms",".","In","that","case","this","method","will","also","output","a","generator","run","with","number","of","arms","that","can","differ","from","``","n","``",".","pending_observations",":","A","map","from","metric","name","to","pending","observations","for","that","metric",",","used","by","some","models","to","avoid","resuggesting","points","that","are","currently","being","evaluated",".","Returns",":","A","list","of","lists","of","lists","generator","runs",".","Each","outer","list","represents","a","trial","being","suggested","and","each","inner","list","represents","a","generator","run","for","that","trial","."]
code: def gen_for_multiple_trials_with_multiple_models(
      self,
      experiment: Experiment,
      num_generator_runs: int,
      data: Optional[Data] = None,
      n: int = 1,
  ) -> List[List[GeneratorRun]]:
      """Produce GeneratorRuns for multiple trials at once with the possibility of
      ensembling, or using multiple models per trial, getting multiple
      GeneratorRuns per trial.
  
      Args:
          experiment: Experiment, for which the generation strategy is producing
              a new generator run in the course of `gen`, and to which that
              generator run will be added as trial(s). Information stored on the
              experiment (e.g., trial statuses) is used to determine which model
              will be used to produce the generator run returned from this method.
          data: Optional data to be passed to the underlying model's `gen`, which
              is called within this method and actually produces the resulting
              generator run. By default, data is all data on the `experiment`.
          n: Integer representing how many trials should be in the generator run
              produced by this method. NOTE: Some underlying models may ignore
              the ``n`` and produce a model-determined number of arms. In that
              case this method will also output a generator run with number of
              arms that can differ from ``n``.
          pending_observations: A map from metric name to pending
              observations for that metric, used by some models to avoid
              resuggesting points that are currently being evaluated.
  
      Returns:
          A list of lists of lists generator runs. Each outer list represents
          a trial being suggested and  each inner list represents a generator
          run for that trial.
      """
      pass
  
file_path: Ax/ax/core/generation_strategy_interface.py
imports: from abc import ABC, abstractmethod
  from typing import List, Optional
  from ax.core.data import Data
  from ax.core.experiment import Experiment
  from ax.core.generator_run import GeneratorRun
  from ax.utils.common.base import Base
  from ax.utils.common.typeutils import not_none
label_desc: Use image node_id 1 for calling the GenerationStrategyInterface obj's underlying member method code with example usage: obj.gen_for_multiple_trials_with_multiple_models(experiment, num_generator_runs, data, n) without return types