Nevergrad包中建议值的使用

重现步骤

import nevergrad as ngimport numpy as nploc = ng.p.Scalar(lower=-5,upper=5)scale = ng.p.Scalar(lower=0, upper=5)s = ng.p.Scalar(lower=0, upper=10)k = ng.p.Choice(list(range(2,6)))w = ng.p.Array(shape=(self.times.shape[0],)).set_bounds(-10,10)instru = ng.p.Instrumentation(loc=loc,                          scale = scale,                          s=s,                          k=k,                          w = w)optimizer = ng.optimizers.DE(parametrization=instru,                                      budget=budget)optimizer.suggest((),{'k':3,'loc':-2,'s':2,'scale':2,'w':np.ones(self.times.shape[0])})

观察结果

ValueError: 元组值必须是大小为0的元组,得到的是:((), {'k': 3, 'loc': -2, 's': 2, 'scale': 2, 'w': array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1.])}).当前值:()

预期结果

在优化器运行中设置初始值

有没有人成功使用过Nevergrad中的suggest方法

如果有的话,你介意复制/粘贴工作代码吗?我尝试了文档中示例的不同形式,但似乎无法使其工作。


回答:

这个问题在一个相关的Github讨论串中得到了解答:

基本上,suggest的调用方式应该与要优化的函数相同,在你的情况下,由于你使用的是Instrumentation,我猜应该是这样的:

optimizer.suggest(k=3, loc=-2, s=2, scale=2, w=mp.ones(self.times.shape[0]))

另一个选项,适用于除Choice参数之外的所有情况,可以使用Array和Scalar的init选项(例如:loc = ng.p.Scalar(init=-2, lower=-5, upper=5))

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注