class_docstr: Pipeline of BaseExploit objects
  
  The pipeline executes the BaseExplore objects sequentially. If one object returns
  the parameters that are different than the ones passed (``params``), then the pipeline
  returns these parameter values. Otherwise, if all BaseExplore objects return the same
  parameters as the one passed to the pipeline, then the pipeline returns it.
  
  Parameters
  ----------
  explore_configs: list of dict
      List of dictionary representing the configurations of BaseExplore children.
  
  Examples
  --------
  This pipeline is useful if for instance you want to sample from the space with a small
  probability, but otherwise use a local perturbation.
  
  >>> PipelineExplore(
      explore_configs=[
          {'of_type': 'ResampleExplore', probability=0.05},
          {'of_type': 'PerturbExplore'}
      ])
docstr: Execute explore objects sequentially
  
  If one explore object returns the parameters that are different than the ones passed
  (``params``), then the pipeline returns these parameter values. Otherwise, if all
  BaseExplore objects return the same parameters as the one passed to the pipeline, then the
  pipeline returns it.
  
  Parameters
  ----------
  rng: numpy.random.Generator
      A random number generator. It is not contained in ``BaseExplore`` because the explore
      class must be stateless.
  space: Space
      The search space optimized by the algorithm.
  params: dict
      Dictionary representing the parameters of the current trial under examination
      (`trial.params`).
  
  Returns
  -------
  ``dict``
      The new set of parameters for the trial to be branched.
docstr_tok: ["Execute","explore","objects","sequentially","If","one","explore","object","returns","the","parameters","that","are","different","than","the","ones","passed","(","``","params","``",")",",","then","the","pipeline","returns","these","parameter","values",".","Otherwise",",","if","all","BaseExplore","objects","return","the","same","parameters","as","the","one","passed","to","the","pipeline",",","then","the","pipeline","returns","it",".","Parameters","--","--","--","--","--","rng",":","numpy.random.Generator","A","random","number","generator",".","It","is","not","contained","in","``","BaseExplore","``","because","the","explore","class","must","be","stateless",".","space",":","Space","The","search","space","optimized","by","the","algorithm",".","params",":","dict","Dictionary","representing","the","parameters","of","the","current","trial","under","examination","(","`","trial.params","`",")",".","Returns","--","--","--","-","``","dict","``","The","new","set","of","parameters","for","the","trial","to","be","branched","."]
code: def __call__(self, rng, space, params):
      """Execute explore objects sequentially
  
      If one explore object returns the parameters that are different than the ones passed
      (``params``), then the pipeline returns these parameter values. Otherwise, if all
      BaseExplore objects return the same parameters as the one passed to the pipeline, then the
      pipeline returns it.
  
      Parameters
      ----------
      rng: numpy.random.Generator
          A random number generator. It is not contained in ``BaseExplore`` because the explore
          class must be stateless.
      space: Space
          The search space optimized by the algorithm.
      params: dict
          Dictionary representing the parameters of the current trial under examination
          (`trial.params`).
  
      Returns
      -------
      ``dict``
          The new set of parameters for the trial to be branched.
  
      """
  
      for explore in self.pipeline:
          new_params = explore(rng, space, params)
          if new_params is not params:
              return new_params
  
      return params
  
imports: import numpy
  from orion.core.utils import GenericFactory
  from orion.core.utils.flatten import flatten, unflatten
label_desc: Use image node_id 2 for calling the PipelineExplore obj's underlying member method code with example usage: obj.__call__(rng, space, params) and returns: params, new_params