def testSobolGeneratorDedupe(self): generator = SobolGenerator(seed=0, deduplicate=True) n_tunable = fixed_param_index = 3 bounds = self._create_bounds(n_tunable=n_tunable, n_fixed=1) generated_points, weights = generator.gen( n=2, bounds=bounds, linear_constraints=( np.array([[1, 1, 0, 0], [0, 1, 1, 0]]), np.array([1, 1]), ), fixed_features={fixed_param_index: 1}, rounding_func=lambda x: x, ) self.assertEqual(len(generated_points), 2) generated_points, weights = generator.gen( n=1, bounds=bounds, linear_constraints=( np.array([[1, 1, 0, 0], [0, 1, 1, 0]]), np.array([1, 1]), ), fixed_features={fixed_param_index: 1}, rounding_func=lambda x: x, ) self.assertEqual(len(generated_points), 1) self.assertIsNotNone(generator._get_state().get("generated_points"))
def testSobolGeneratorAllTunable(self): generator = SobolGenerator(seed=0) bounds = self._create_bounds(n_tunable=3, n_fixed=0) generated_points, weights = generator.gen(n=3, bounds=bounds) self.assertEqual(np.shape(generated_points), (3, 3)) np_bounds = np.array(bounds) self.assertTrue(np.alltrue(generated_points >= np_bounds[:, 0])) self.assertTrue(np.alltrue(generated_points <= np_bounds[:, 1])) self.assertTrue(np.all(weights == 1.0)) self.assertEqual(generator._get_state(), {"init_position": 3})
def testSobolGeneratorAllTunable(self): generator = SobolGenerator(seed=0) bounds = self._create_bounds(n_tunable=3, n_fixed=0) generated_points, weights = generator.gen(n=3, bounds=bounds) expected_points = np.array([ [0.63552922, 0.17165081, 0.85513169], [0.92333341, 0.75570321, 0.72268772], [0.21601909, 0.48894, 0.11520141], ]) self.assertTrue( np.shape(expected_points) == np.shape(generated_points)) self.assertTrue(np.allclose(expected_points, generated_points)) self.assertTrue(np.all(weights == 1.0)) self.assertEqual(generator._get_state(), {"init_position": 3})