class_docstr: Abstract base class to define the interface for priors of Gaussian process hyperparameters.
  
  This class is adapted from RoBO:
  
  Klein, A. and Falkner, S. and Mansur, N. and Hutter, F.
  RoBO: A Flexible and Robust Bayesian Optimization Framework in Python
  In: NIPS 2017 Bayesian Optimization Workshop
  
  Note
  ----
  Whenever lnprob or the gradient is computed for a scalar input, we use math.* rather than np.*.
  
  Parameters
  ----------
  seed : int, defaults to 0
class_docstr_tok: ["Abstract","base","class","to","define","the","interface","for","priors","of","Gaussian","process","hyperparameters",".","This","class","is","adapted","from","RoBO",":","Klein",",","A.","and","Falkner",",","S.","and","Mansur",",","N.","and","Hutter",",","F.","RoBO",":","A","Flexible","and","Robust","Bayesian","Optimization","Framework","in","Python","In",":","NIPS","2017","Bayesian","Optimization","Workshop","Note","--","--","Whenever","lnprob","or","the","gradient","is","computed","for","a","scalar","input",",","we","use","math",".","*","rather","than","np.","*",".","Parameters","--","--","--","--","--","seed",":","int",",","defaults","to","0"]
docstr: Returns `n_samples` from the prior. All samples are on a log scale. This method calls
  `self._sample_from_prior` and applies a log transformation to the obtained values.
  
  Parameters
  ----------
  n_samples : int
      The number of samples that will be drawn.
  
  Returns
  -------
  samples : np.ndarray
docstr_tok: ["Returns","`","n_samples","`","from","the","prior",".","All","samples","are","on","a","log","scale",".","This","method","calls","`","self._sample_from_prior","`","and","applies","a","log","transformation","to","the","obtained","values",".","Parameters","--","--","--","--","--","n_samples",":","int","The","number","of","samples","that","will","be","drawn",".","Returns","--","--","--","-","samples",":","np.ndarray"]
code: def sample_from_prior(self, n_samples: int) -> np.ndarray:
      """Returns `n_samples` from the prior. All samples are on a log scale. This method calls
      `self._sample_from_prior` and applies a log transformation to the obtained values.
  
      Parameters
      ----------
      n_samples : int
          The number of samples that will be drawn.
  
      Returns
      -------
      samples : np.ndarray
      """
      if np.ndim(n_samples) != 0:
          raise ValueError(
              "argument n_samples needs to be a scalar (is %s)"
              % n_samples
          )
  
      if n_samples <= 0:
          raise ValueError(
              "argument n_samples needs to be positive (is %d)"
              % n_samples
          )
  
      sample = np.log(self._sample_from_prior(n_samples=n_samples))
  
      if np.any(~np.isfinite(sample)):
          raise ValueError(
              "Sample %s from prior %s contains infinite values!"
              % (sample, self)
          )
  
      return sample
  
file_path: SMAC3/smac/model/gaussian_process/priors/abstract_prior.py
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any
  import numpy
label_desc: Use image node_id 3 for calling the AbstractPrior obj's underlying member method code with example usage: obj.sample_from_prior(n_samples) and returns: sample