def __init__(self): self.original_task = SinFunction() # Add an additional dimension for the system size X_lower = np.concatenate( (self.original_task.original_X_lower, np.array([0]))) X_upper = np.concatenate( (self.original_task.original_X_upper, np.array([1]))) self.is_env = np.zeros([self.original_task.n_dims]) self.is_env = np.concatenate((self.is_env, np.ones([1]))) super(TestTask, self).__init__(X_lower, X_upper)
def setUp(self): self.task = SinFunction() kernel = george.kernels.Matern52Kernel(np.ones([self.task.n_dims]) * 0.01, ndim=self.task.n_dims) noise_kernel = george.kernels.WhiteKernel(1e-9, ndim=self.task.n_dims) kernel = 3000 * (kernel + noise_kernel) prior = default_priors.TophatPrior(-2, 2) model = GaussianProcess(kernel, prior=prior) X = init_random_uniform(self.task.X_lower, self.task.X_upper, 3) Y = self.task.evaluate(X) model.train(X, Y, do_optimize=False) self.acquisition_func = InformationGainMC(model, X_upper=self.task.X_upper, X_lower=self.task.X_lower) self.acquisition_func.update(model)