Skip to content

Commit ad12386

Browse files
committed
add test_distribution.py
1 parent 909b346 commit ad12386

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
import numpy as np
2+
from tqdm import tqdm
3+
4+
from hyperactive.optimizers import HillClimbingOptimizer
5+
from hyperactive.experiment import BaseExperiment
6+
from hyperactive.search_config import SearchConfig
7+
8+
9+
class Experiment(BaseExperiment):
10+
def objective_function(self, opt):
11+
score = -opt["x1"] * opt["x1"]
12+
return score
13+
14+
15+
experiment = Experiment()
16+
17+
search_config = SearchConfig(
18+
x1=list(np.arange(-100, 101, 1)),
19+
)
20+
21+
n_iter = 15
22+
23+
24+
def test_n_jobs_0():
25+
n_jobs = 2
26+
27+
hyper = HillClimbingOptimizer()
28+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
29+
hyper.run()
30+
31+
assert len(hyper.search_data(experiment)) == n_iter * n_jobs
32+
33+
34+
def test_n_jobs_1():
35+
n_jobs = 4
36+
37+
hyper = HillClimbingOptimizer()
38+
hyper.add_search(experiment, search_config, n_iter=15, n_jobs=n_jobs)
39+
hyper.run()
40+
41+
assert len(hyper.search_data(experiment)) == n_iter * n_jobs
42+
43+
44+
def test_n_jobs_2():
45+
n_jobs = 8
46+
47+
hyper = HillClimbingOptimizer()
48+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
49+
hyper.run()
50+
51+
assert len(hyper.search_data(experiment)) == n_iter * n_jobs
52+
53+
54+
def test_n_jobs_5():
55+
n_jobs = 2
56+
57+
hyper = HillClimbingOptimizer()
58+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
59+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
60+
61+
hyper.run()
62+
63+
assert len(hyper.search_data(experiment)) == n_iter * n_jobs * 2
64+
65+
66+
def test_n_jobs_6():
67+
n_jobs = 2
68+
69+
hyper = HillClimbingOptimizer()
70+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
71+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
72+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
73+
hyper.add_search(experiment, search_config, n_iter=n_iter, n_jobs=n_jobs)
74+
75+
hyper.run()
76+
77+
assert len(hyper.search_data(experiment)) == n_iter * n_jobs * 4
78+
79+
80+
def test_n_jobs_7():
81+
n_jobs = -1
82+
83+
hyper = HillClimbingOptimizer()
84+
hyper.add_search(experiment, search_config, n_iter=15, n_jobs=n_jobs)
85+
hyper.run()
86+
87+
88+
def test_multiprocessing_0():
89+
hyper = HillClimbingOptimizer()
90+
hyper.add_search(experiment, search_config, n_iter=15, n_jobs=2)
91+
hyper.run(distribution="multiprocessing")
92+
93+
94+
def test_multiprocessing_1():
95+
hyper = HillClimbingOptimizer()
96+
hyper.add_search(experiment, search_config, n_iter=15, n_jobs=2)
97+
hyper.run(
98+
distribution={
99+
"multiprocessing": {
100+
"initializer": tqdm.set_lock,
101+
"initargs": (tqdm.get_lock(),),
102+
}
103+
},
104+
)

0 commit comments

Comments
 (0)