Python 从Skopt中的检查点恢复gp_最小化进程

Python 从Skopt中的检查点恢复gp_最小化进程,python,load,checkpoint,skopt,scikit-optimize,Python,Load,Checkpoint,Skopt,Scikit Optimize,我想恢复gp进程,但收到奇怪的消息。我只提供x0和y0=无,开始gp流程。我的初始点是30,n_evals=50。我在20号评估处停下来。然后我加载结果,按照文档中的示例提供x0和y0(都是列表列表),并运行相同的过程。(我重新启动了内核obv。)然而,即使在第12次评估之后,消息仍然是:迭代编号:13已启动。随机点上的求值函数。它应该在哪里搜索下一个最佳点 我做错什么了吗 x0 = res.x_iters y0 = res.func_vals gp_res = gp_minimize(fu

我想恢复gp进程,但收到奇怪的消息。我只提供x0和y0=无,开始gp流程。我的初始点是30,n_evals=50。我在20号评估处停下来。然后我加载结果,按照文档中的示例提供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)

他也有类似的问题。在寻找答案的过程中,我在GitHub页面上艰难地回答了这个问题:

建议的是“将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)

他也有类似的问题。在寻找答案的过程中,我在GitHub页面上艰难地回答了这个问题:

建议的是“将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)

我看到了同样的行为。我认为一定有一个bug,因为它似乎在重新评估x0和y0的所有点。我看到了相同的行为。我认为一定有一个bug,因为它似乎在重新评估x0和y0的所有点。