f0 passed has more than 1 dimension
when applying this block:
for i in range(n_iter): # Update Gaussian process with existing samples gpr.fit(X_sample, Y_sample)
# Obtain next sampling point from the acquisition function (expected_improvement) X_next = propose_location(expected_improvement, X_sample, Y_sample, gpr, bounds) # Obtain next noisy sample from the objective function Y_next = f(X_next, noise) # Plot samples, surrogate function, noise-free objective and next sampling location plt.subplot(n_iter, 2, 2 * i + 1) plot_approximation(gpr, X, Y, X_sample, Y_sample, X_next, show_legend=i==0) plt.title(f'Iteration {i+1}') plt.subplot(n_iter, 2, 2 * i + 2) plot_acquisition(X, expected_improvement(X, X_sample, Y_sample, gpr), X_next, show_legend=i==0) # Add sample to previous samples X_sample = np.vstack((X_sample, X_next)) Y_sample = np.vstack((Y_sample, Y_next))
I receive
for i in range(n_iter): # Update Gaussian process with existing samples gpr.fit(X_sample, Y_sample)
# Obtain next sampling point from the acquisition function (expected_improvement) X_next = propose_location(expected_improvement, X_sample, Y_sample, gpr, bounds) # Obtain next noisy sample from the objective function Y_next = f(X_next, noise)Traceback (most recent call last):
File "C:\Users\User~1\AppData\Local\Temp/ipykernel_31512/2407564972.py", line 6, in
X_next = propose_location(expected_improvement, X_sample, Y_sample, gpr, bounds) File "C:\Users\User~1\AppData\Local\Temp/ipykernel_31512/3463643264.py", line 86, in propose_location res = minimize(min_obj, x0=x0, bounds=bounds, method='L-BFGS-B')
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize_minimize.py", line 623, in minimize return _minimize_lbfgsb(fun, x0, args, jac, bounds,
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize\lbfgsb.py", line 306, in _minimize_lbfgsb sf = _prepare_scalar_function(fun, x0, jac=jac, args=args, epsilon=eps,
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize\optimize.py", line 261, in _prepare_scalar_function sf = ScalarFunction(fun, x0, args, grad, hess,
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize_differentiable_functions.py", line 159, in init self._update_grad()
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize_differentiable_functions.py", line 238, in _update_grad self._update_grad_impl()
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize_differentiable_functions.py", line 155, in update_grad self.g = approx_derivative(fun_wrapped, self.x, f0=self.f,
File "C:\Users\User\Anaconda3\lib\site-packages\scipy\optimize_numdiff.py", line 448, in approx_derivative raise ValueError("
f0passed has more than 1 dimension.")ValueError:
f0passed has more than 1 dimension.