class_docstr: Performs Bayesian Optimization using a Gaussian Process as an
  emulator for the unknown function.
class_docstr_tok: ["Performs","Bayesian","Optimization","using","a","Gaussian","Process","as","an","emulator","for","the","unknown","function","."]
docstr: :param torch.constraint constraints: constraints defining the domain of `f`
  :param gp.models.GPRegression gpmodel: a (possibly initialized) GP
      regression model. The kernel, etc is specified via `gpmodel`.
  :param int num_acquisitions: number of points to acquire at each step
  :param function acquisition_func: a function to generate acquisitions.
      It should return a torch.Tensor of new points to query.
docstr_tok: [":","param","torch.constraint","constraints",":","constraints","defining","the","domain","of","`","f","`",":","param","gp.models.GPRegression","gpmodel",":","a","(","possibly","initialized",")","GP","regression","model",".","The","kernel",",","etc","is","specified","via","`","gpmodel","`",".",":","param","int","num_acquisitions",":","number","of","points","to","acquire","at","each","step",":","param","function","acquisition_func",":","a","function","to","generate","acquisitions",".","It","should","return","a","torch.Tensor","of","new","points","to","query","."]
code: def __init__(
      self,
      constraints,
      gpmodel,
      num_acquisitions,
      acquisition_func=None,
  ):
      """
      :param torch.constraint constraints: constraints defining the domain of `f`
      :param gp.models.GPRegression gpmodel: a (possibly initialized) GP
          regression model. The kernel, etc is specified via `gpmodel`.
      :param int num_acquisitions: number of points to acquire at each step
      :param function acquisition_func: a function to generate acquisitions.
          It should return a torch.Tensor of new points to query.
      """
      if acquisition_func is None:
          acquisition_func = self.acquire_thompson
  
      self.constraints = constraints
      self.gpmodel = gpmodel
      self.num_acquisitions = num_acquisitions
      self.acquisition_func = acquisition_func
  
file_path: pyro/examples/contrib/oed/gp_bayes_opt.py
imports: import torch
  import torch.autograd
  import torch.optim
  from torch.distributions import transform_to
  import pyro.contrib.gp
  import pyro.optim
  from pyro.infer import TraceEnum_ELBO
label_desc: Use image node_id 1 to create a new GPBayesOptimizer object from inherited base classes: pyro.optim.multi with example: obj = GPBayesOptimizer(constraints, gpmodel, num_acquisitions, acquisition_func)