Closed DimanChauncey closed 6 months ago
There are two ways:
Int
parameter to represent the exponent number, e.g. 1 to 6, and restore the original x1 parameter (2^1 to 2^6) in your objective function.Ordinal
. However, some algorithms may not support Ordinal yet.
from openbox import space as sp
x1 = sp.Ordinal('x1', sequence=[2, 4, 8, 16, 32, 64], default_value=2)
Thank you! I took the first way. I wanna know a little bit about the difference of two ways. Does the choice of different methods have any impact on the results?
When config.get_array()
is called, the Int parameter is automatically scaled to [0, 1], while the Ordinal parameter is not scaled. It's a feature of ConfigSpace, and OpenBox does no extra work when fitting the surrogate model. Therefore, there might be a little difference in model fitting.
Some of my parameters are powers of 2, for example, the search range for x1 is [2,4,8,16,32,64]. In this case, how to use Openbox to define the parameter space.
我的参数中有一些是2的幂次方,比如x1的搜索范围是[2,4,8,16,32,64],这种情况,如何使用openbox去定义参数空间
thanks a lot.