7
7
8
8
9
9
def test_uniform_parameter ():
10
- np .random .seed (12 )
11
10
param = UniformParameter ('p1' , - 1 , 1 )
12
11
assert param .get_name () == 'p1'
13
12
assert param .get_dimensionality () == 1
14
- s = param .generate_samples (3 )
15
- assert s .shape == (3 , 1 )
16
- gold = [[- 0.69167432 ],
17
- [ 0.48009939 ],
18
- [- 0.47336997 ]]
13
+
14
+ germ = np .array ([[0.1 ], [0.5 ], [0.7 ]])
15
+ s = param .generate_samples (germ )
16
+ assert s .shape == germ .shape
17
+ gold = [[- 0.8 ],
18
+ [ 0.0 ],
19
+ [ 0.4 ]]
19
20
np .testing .assert_allclose (s , gold , rtol = 1e-5 , atol = 1e-8 )
20
21
21
22
22
23
def test_string_parameter ():
23
24
param = StringParameter ('p1' , 'p1val' )
24
25
assert param .get_name () == 'p1'
25
26
assert param .get_dimensionality () == 1
26
- s = param .generate_samples (3 )
27
- assert s .shape == (3 , 1 )
27
+
28
+ germ = np .array ([[0.1 ], [0.5 ], [0.7 ]])
29
+ s = param .generate_samples (germ )
30
+ assert s .shape == germ .shape
28
31
assert (s == [['p1val' , 'p1val' , 'p1val' ]]).all ()
29
32
30
33
@@ -33,20 +36,25 @@ def test_uniform_param_space():
33
36
param_space = UniformParameterSpace (['p1' , 'p2' ], [- 1 , 0 ], [1 , 3 ])
34
37
assert param_space .get_names () == ['p1' , 'p2' ]
35
38
assert param_space .get_dimensionality () == 2
36
- s = param_space .generate_samples (4 )
37
- assert s .shape == (4 , 2 )
38
- gold = [[- 0.69167432 , 0.04372489 ],
39
- [ 0.48009939 , 2.75624102 ],
40
- [- 0.47336997 , 2.70214456 ],
41
- [ 0.06747879 , 0.10026428 ]]
39
+
40
+ germ = np .array ([[0.1 , 0.2 ], [0.5 , 0.6 ], [0.7 , 0.8 ]])
41
+ s = param_space .generate_samples (germ )
42
+ assert s .shape == (3 , 2 )
43
+ gold = [[- 0.8 , 0.3 ],
44
+ [ 0.0 , 1.5 ],
45
+ [ 0.4 , 2.1 ]]
42
46
np .testing .assert_allclose (s , gold , rtol = 1e-5 , atol = 1e-8 )
43
47
44
48
45
49
def test_const_param_space ():
46
50
param_space = ConstParameterSpace (['p1' , 'p2' , 'p3' ], [1 , 3 , 'p3val' ])
47
51
assert param_space .get_names () == ['p1' , 'p2' , 'p3' ]
48
52
assert param_space .get_dimensionality () == 3
49
- s = param_space .generate_samples (4 )
53
+ germ = np .array ([[0.1 , 0.2 , 0.3 ],
54
+ [0.4 , 0.5 , 0.6 ],
55
+ [0.7 , 0.8 , 0.9 ],
56
+ [0.0 , 1.0 , 0.5 ]])
57
+ s = param_space .generate_samples (germ )
50
58
assert s .shape == (4 , 3 )
51
59
assert (s == [['1' , '3' , 'p3val' ],
52
60
['1' , '3' , 'p3val' ],
@@ -57,16 +65,21 @@ def test_const_param_space():
57
65
def test_hetero_param_space ():
58
66
np .random .seed (12 )
59
67
param1 = UniformParameter ('p1' , - 1 , 1 )
60
- param2 = UniformParameter ('p2' , 0 , 0 )
68
+ param2 = UniformParameter ('p2' , 0 , 1 )
61
69
param3 = StringParameter ('p3' , 'p3val' )
62
70
param_space = HeterogeneousParameterSpace ((param1 , param2 , param3 ))
63
71
64
72
assert param_space .get_names () == ['p1' , 'p2' , 'p3' ]
65
73
assert param_space .get_dimensionality () == 3
66
- s = param_space .generate_samples (4 )
74
+
75
+ germ = np .array ([[0.1 , 0.2 , 0.3 ],
76
+ [0.4 , 0.5 , 0.6 ],
77
+ [0.7 , 0.8 , 0.9 ],
78
+ [0.0 , 1.0 , 0.5 ]])
79
+ s = param_space .generate_samples (germ )
67
80
assert s .shape == (4 , 3 )
68
- print ( s )
69
- assert ( s == [[ '-0.6916743152406553' , '0.0' , 'p3val' ],
70
- [ '0.4800993930308095' , '0.0' , 'p3val' ],
71
- [ '-0.47336996962973066' , '0.0' , 'p3val' ],
72
- [ '0.06747878676059549 ' , '0.0 ' , 'p3val' ] ]).all ()
81
+ np . testing . assert_allclose ( s [:, 0 ]. astype ( float ), [ - 0.8 , - 0.2 , 0.4 , - 1.0 ],
82
+ rtol = 1e-5 , atol = 1e-8 )
83
+ np . testing . assert_allclose ( s [:, 1 ]. astype ( float ), [ 0.1 , 0.4 , 0.7 , 0.0 ],
84
+ rtol = 1e-5 , atol = 1e-8 )
85
+ assert ( s [:, 2 ] == [ 'p3val ' , 'p3val ' , 'p3val' , 'p3val' ]).all ()
0 commit comments