我想恢复gp进程,但收到奇怪的消息。我开始gp进程时只提供了x0和y0=None。我的初始点数是30,n_evals = 50。然后我加载结果,按照文档中的示例,我提供了x0和y0 (都是列表列表),并运行相同的过程。(我已经重新启动了内核obv。)然而,即使在第12号评估之后,消息也是:迭代号: 13开始。在任意点对函数求值。它应该在哪里寻找下一个最佳点。
我做错了什么吗?
x0 = res.x_iters
y0 = res.func_vals
gp_res = gp_minimize(func=fitness,
dimensions=space,
n_calls=50,
n_jobs=-1,
n_initial_points=30,
initial_point_generator=lhs,
verbose=True,
acq_func='gp_hedge',
acq_optimizer='lbfgs',
n_restarts_optimizer=15,
y0=y0,
random_state=seed,
callback=[checkpoint_callback,delta_callback],
n_points=10000,
kappa=1.96,
xi=0.01,
noise='gaussian',
model_queue_size=None,
x0=x0)发布于 2020-11-12 01:06:39
也有类似的问题。在寻找答案时,我在GitHub页面上偶然发现了这个问题:https://github.com/scikit-optimize/scikit-optimize/issues/949
建议的是“将n_initial_points的值设置为res0.x_iters中值数量的负数”,这似乎对我很有效。
在您的例子中,我假设它看起来是这样的:
x0 = res.x_iters
y0 = res.func_vals
gp_res = gp_minimize(func=fitness,
dimensions=space,
n_calls=50,
n_jobs=-1,
->n_initial_points=-len(x0),
initial_point_generator=lhs,
verbose=True,
acq_func='gp_hedge',
acq_optimizer='lbfgs',
n_restarts_optimizer=15,
y0=y0,
random_state=seed,
callback=[checkpoint_callback,delta_callback],
n_points=10000,
kappa=1.96,
xi=0.01,
noise='gaussian',
model_queue_size=None,
x0=x0)https://stackoverflow.com/questions/62500068
复制相似问题