Skip to content

Commit

Permalink
Fix errors
Browse files Browse the repository at this point in the history
  • Loading branch information
jungtaekkim committed Oct 8, 2021
1 parent 9d89d1a commit 4b3027e
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 23 deletions.
2 changes: 1 addition & 1 deletion bayeso/bo/base_bo.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ def _get_samples_halton(self, num_samples: int,
assert isinstance(num_samples, int)
assert isinstance(seed, (int, constants.TYPE_NONE))

sampler = qmcpy.Halton(self.num_dim, randomize='OWEN', seed=seed)
sampler = qmcpy.Halton(self.num_dim, randomize='OWEN', generalize=False, seed=seed)
samples = sampler.gen_samples(num_samples)

samples = samples * (self.range_X[:, 1].flatten() - self.range_X[:, 0].flatten()) \
Expand Down
157 changes: 135 additions & 22 deletions tests/common/test_bo_bo_w_gp.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,21 +120,58 @@ def test_get_samples():

arr_initials_ = model_bo.get_samples('sobol', num_samples=3)
arr_initials = model_bo.get_samples('sobol', num_samples=3, seed=42)

print('sobol')
for elem_1 in arr_initials:
for elem_2 in elem_1:
print(elem_2)

truth_arr_initials = np.array([
[5.051551531068981, 0.8090446023270488, -1.0847891168668866],
[1.4649059670045972, -1.925125477835536, 1.4882571692578495],
[3.202530408743769, 1.6943757990375161, -3.383688726462424],
[
8.78516613971442,
-0.6113853892311454,
-4.274874331895262,
],
[
2.7565963030792773,
1.627942705526948,
1.6141902864910662,
],
[
1.0978685109876096,
-1.511254413984716,
-1.5049133892171085,
],
])

assert (np.abs(arr_initials - truth_arr_initials) < TEST_EPSILON).all()

arr_initials_ = model_bo.get_samples('halton', num_samples=3)
arr_initials = model_bo.get_samples('halton', num_samples=3, seed=42)

print('halton')
for elem_1 in arr_initials:
for elem_2 in elem_1:
print(elem_2)

truth_arr_initials = np.array([
[4.325625705206888, 1.9045673771707823, 1.0981007622257621],
[9.325625705206889, 0.5712340438374492, -2.9018992377742396],
[1.825625705206888, -0.7620992894958845, 3.098100762225762],
[
3.3124358790165855,
-1.4099903230606423,
-0.4462920191434243,
],
[
8.312435879016585,
1.2566763436060246,
-2.446292019143424,
],
[
0.8124358790165853,
-0.07665698972730861,
-4.446292019143424,
],
])

assert (np.abs(arr_initials - truth_arr_initials) < TEST_EPSILON).all()

arr_initials_ = model_bo.get_samples('uniform', num_samples=3)
Expand Down Expand Up @@ -182,11 +219,29 @@ def test_get_initials():

arr_initials = model_bo.get_initials('sobol', 3)
arr_initials = model_bo.get_initials('sobol', 3, seed=42)

for elem_1 in arr_initials:
for elem_2 in elem_1:
print(elem_2)

truth_arr_initials = np.array([
[5.051551531068981, 0.8090446023270488, -1.0847891168668866],
[1.4649059670045972, -1.925125477835536, 1.4882571692578495],
[3.202530408743769, 1.6943757990375161, -3.383688726462424],
[
8.78516613971442,
-0.6113853892311454,
-4.274874331895262,
],
[
2.7565963030792773,
1.627942705526948,
1.6141902864910662,
],
[
1.0978685109876096,
-1.511254413984716,
-1.5049133892171085,
],
])

assert (np.abs(arr_initials - truth_arr_initials) < TEST_EPSILON).all()

arr_initials = model_bo.get_initials('uniform', 3, seed=42)
Expand Down Expand Up @@ -757,19 +812,63 @@ def test_compute_acquisitions():
cov_X_X, inv_cov_X_X, _ = covariance.get_kernel_inverse(X, hyps, model_bo.str_cov)

X_test = model_bo.get_samples('sobol', num_samples=10, seed=111)

truth_X_test = np.array([
[1.5372224315069616, 0.04384007956832647, -2.2484372765757143],
[7.530325392726809, -1.5013302871957421, 3.6598239350132644],
[5.009974606800824, 1.4473280012607574, -2.9132778802886605],
[4.057266886811703, -0.9762288630008698, 1.8228407809510827],
[2.9087040200829506, 1.576258834451437, 3.9799577672965825],
[6.793604656122625, -0.0973438061773777, -0.07283419137820601],
[9.274512701667845, 0.914928319863975, 0.8972382079809904],
[0.4274896439164877, -1.380226788111031, -4.483412243425846],
[1.1341158207505941, 1.000061221420765, 0.24217900820076466],
[9.78826540056616, -0.5445895120501518, -3.8301817141473293],
[
3.328958908095956,
-1.8729291455820203,
0.2839687094092369,
],
[
8.11741182114929,
0.3799784183502197,
-0.05574141861870885,
],
[
6.735238193068653,
-0.9264274807646871,
3.631770429201424,
],
[
2.13300823001191,
1.3245289996266365,
-3.547573888208717,
],
[
0.6936023756861687,
-0.018464308232069016,
-2.1043178741820157,
],
[
5.438151848502457,
1.7285785367712379,
2.0298107899725437,
],
[
9.085266247857362,
-1.2144776917994022,
-4.31197423255071,
],
[
4.468362366314977,
0.5345162367448211,
4.0739051485434175,
],
[
3.9395463559776545,
-0.5726078534498811,
-4.846788686700165,
],
[
9.92871844675392,
1.1744442842900753,
4.774723623413593,
],
])
print(X_test)

for elem_1 in X_test:
for elem_2 in elem_1:
print(elem_2)

assert np.all(np.abs(X_test - truth_X_test) < TEST_EPSILON)

Expand All @@ -789,9 +888,23 @@ def test_compute_acquisitions():
model_bo.compute_acquisitions(X_test, X, Y, cov_X_X, inv_cov_X_X, 'abc')

acqs = model_bo.compute_acquisitions(X_test, X, Y, cov_X_X, inv_cov_X_X, hyps)
print(acqs)

truth_acqs = np.array([0.9602042008680384, 0.7893457649458702, 0.7874870212950252, 0.8113392160307042, 0.7900800170056282, 0.789580990650518, 0.7893341902282358, 0.8667465389980766, 0.23928549511387842, 0.7893341160443801])
print('acqs')
for elem_1 in acqs:
print(elem_1)

truth_acqs = np.array([
0.9140836833364618,
0.7893422923284443,
0.7893819649518585,
0.780516205172671,
1.170379060386938,
0.7889956503605072,
0.7893345684226016,
0.789773864915061,
0.7908883762985802,
0.7893339801719917,
])

assert isinstance(acqs, np.ndarray)
assert len(acqs.shape) == 1
Expand Down

0 comments on commit 4b3027e

Please sign in to comment.