I'm recently realizing I was mistaken on what the POOL_SIZE hyper-parameter was doing. Changing this hyper-parameter in the test script doesn't change the model search space, but rather the spacing and granularity between the output points using the hypercube object and sobol random number generation (https://en.wikipedia.org/wiki/Sobol_sequence). We initialize HyperCubePool.numpoints to the poolsize.
Perhaps a short explanation in the README or some links to external resources on how this is working would be very helpful.
class HyperCubePool(object):
def __init__(self, dim, num_points):
self.dim = dim
self.num_points = num_points
self._hypercube = sobol_seq.i4_sobol_generate(dim, num_points)
def __getitem__(self, index):
return self._hypercube[index]
def __len__(self):
return self.num_points
def __repr__(self):
return 'Pool (Sobol). Dim={}, num_points={}\n{}'.format(
self.dim,
self.num_points,
self._hypercube.__repr__(),
)
When generating a 1-D, n=10 array we see:
python random number generator

sobol random number generator

I'm recently realizing I was mistaken on what the
POOL_SIZEhyper-parameter was doing. Changing this hyper-parameter in the test script doesn't change the model search space, but rather the spacing and granularity between the output points using the hypercube object and sobol random number generation (https://en.wikipedia.org/wiki/Sobol_sequence). We initializeHyperCubePool.numpointsto the poolsize.Perhaps a short explanation in the README or some links to external resources on how this is working would be very helpful.
When generating a

1-D,n=10array we see:python random number generator
sobol random number generator
