class_docstr: Ackley function 
  
  :param sd: standard deviation, to generate noisy evaluations of the function.
code: def f(self, X):
      X = reshape(X, self.input_dim)
      print(X)
      n = X.shape[0]
      fval = (
          20
          + np.exp(1)
          - 20
          * np.exp(-0.2 * np.sqrt((X**2).sum(1) / self.input_dim))
          - np.exp(np.cos(2 * np.pi * X).sum(1) / self.input_dim)
      )
  
      if self.sd == 0:
          noise = np.zeros(n).reshape(n, 1)
      else:
          noise = np.random.normal(0, self.sd, n).reshape(n, 1)
      return fval.reshape(n, 1) + noise
  
file_path: GPyOpt/GPyOpt/objective_examples/experimentsNd.py
imports: import numpy
  from ..util.general import reshape
label_desc: Use image node_id 2 for calling the ackley obj's underlying member method code with example usage: obj.f(X) and returns: unknown