class_docstr: A Bayesian optimizer for neural architectures.
  Attributes:
      searcher: The Searcher which is calling the Bayesian optimizer.
      t_min: The minimum temperature for simulated annealing.
      metric: An instance of the Metric subclasses.
      gpr: A GaussianProcessRegressor for bayesian optimization.
      beta: The beta in acquisition function. (refer to our paper)
      search_tree: The network morphism search tree.
class_docstr_tok: ["A","Bayesian","optimizer","for","neural","architectures",".","Attributes",":","searcher",":","The","Searcher","which","is","calling","the","Bayesian","optimizer",".","t_min",":","The","minimum","temperature","for","simulated","annealing",".","metric",":","An","instance","of","the","Metric","subclasses",".","gpr",":","A","GaussianProcessRegressor","for","bayesian","optimization",".","beta",":","The","beta","in","acquisition","function",".","(","refer","to","our","paper",")","search_tree",":","The","network","morphism","search","tree","."]
code: def __init__(self, searcher, t_min, optimizemode, beta=None):
      self.searcher = searcher
      self.t_min = t_min
      self.optimizemode = optimizemode
      self.gpr = IncrementalGaussianProcess()
      self.beta = beta if beta is not None else Constant.BETA
      self.search_tree = SearchTree()
  
imports: import math
  import random
  from copy import deepcopy
  from functools import total_ordering
  from queue import PriorityQueue
  import numpy
  from scipy.linalg import LinAlgError, cho_solve, cholesky, solve_triangular
  from scipy.optimize import linear_sum_assignment
  from sklearn.metrics.pairwise import rbf_kernel
  from nni.utils import OptimizeMode
  from .graph_transformer import transform
  from .utils import Constant
  from .layers import is_layer
label_desc: Use image node_id 1 to create a new BayesianOptimizer object  with example: obj = BayesianOptimizer(searcher, t_min, optimizemode, beta)