def check_gradient_correctness(X_new, model, acq_func, y_opt): analytic_grad = gaussian_acquisition_1D( X_new, model, y_opt, acq_func)[1] num_grad_func = lambda x: gaussian_acquisition_1D( x, model, y_opt, acq_func=acq_func)[0] num_grad = optimize.approx_fprime(X_new, num_grad_func, 1e-5) assert_array_almost_equal(analytic_grad, num_grad, 4)
def check_gradient_correctness(X_new, model, acq_func, y_opt): analytic_grad = gaussian_acquisition_1D( X_new, model, y_opt, acq_func)[1] num_grad_func = lambda x: gaussian_acquisition_1D( x, model, y_opt, acq_func=acq_func)[0] num_grad = optimize.approx_fprime(X_new, num_grad_func, 1e-5) assert_array_almost_equal(analytic_grad, num_grad, 3)
def evaluate_1_d(x, surrogate_model, y_opt, acq_func_kwargs=None): return gaussian_acquisition_1D( X=x, model=surrogate_model, y_opt=y_opt, acq_func="EI", acq_func_kwargs=acq_func_kwargs, )