Passed
Push — master ( 485d4c...ca6528 )
by Simon
04:24
created

tests.test_distribution.test_n_jobs_4()   A

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nop 0
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
import numpy as np
2
from tqdm import tqdm
3
from hyperactive import Hyperactive
4
5
6
def objective_function(opt):
7
    score = -opt["x1"] * opt["x1"]
8
    return score
9
10
11
search_space = {
12
    "x1": list(np.arange(-100, 101, 1)),
13
}
14
15
16
def test_n_jobs_0():
17
    hyper = Hyperactive()
18
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
19
    hyper.run()
20
21
    assert len(hyper.results_list) == 2
22
23
24
def test_n_jobs_1():
25
    hyper = Hyperactive()
26
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=4)
27
    hyper.run()
28
29
    assert len(hyper.results_list) == 4
30
31
32
def test_n_jobs_2():
33
    hyper = Hyperactive()
34
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=8)
35
    hyper.run()
36
37
    assert len(hyper.results_list) == 8
38
39
40
def test_n_jobs_3():
41
    hyper = Hyperactive()
42
    hyper.add_search(objective_function, search_space, n_iter=15)
43
    hyper.run()
44
45
46
def test_n_jobs_5():
47
    hyper = Hyperactive()
48
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
49
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
50
51
    hyper.run()
52
53
    assert len(hyper.results_list) == 4
54
55
56
def test_n_jobs_6():
57
    hyper = Hyperactive()
58
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
59
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
60
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
61
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
62
63
    hyper.run()
64
65
    assert len(hyper.results_list) == 8
66
67
68
def test_n_jobs_7():
69
    hyper = Hyperactive()
70
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=-1)
71
    hyper.run()
72
73
74
def test_multiprocessing_0():
75
    hyper = Hyperactive(distribution="multiprocessing")
76
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
77
    hyper.run()
78
79
80
def test_multiprocessing_1():
81
    hyper = Hyperactive(
82
        distribution={
83
            "multiprocessing": {
84
                "initializer": tqdm.set_lock,
85
                "initargs": (tqdm.get_lock(),),
86
            }
87
        },
88
    )
89
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
90
    hyper.run()
91
92
93
def test_joblib_0():
94
    hyper = Hyperactive(distribution="joblib")
95
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
96
    hyper.run()
97
98
99
def test_joblib_1():
100
    from joblib import Parallel, delayed
101
102
    def joblib_wrapper(process_func, search_processes_paras, n_jobs, **kwargs):
103
        n_jobs = len(search_processes_paras)
104
105
        jobs = [
106
            delayed(process_func)(*info_dict) for info_dict in search_processes_paras
107
        ]
108
        results = Parallel(n_jobs=n_jobs, *kwargs)(jobs)
109
110
        return results
111
112
    hyper = Hyperactive(distribution=joblib_wrapper)
113
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
114
115
    hyper.run()
116
117
118
def test_pathos_0():
119
    hyper = Hyperactive(distribution="pathos")
120
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
121
    hyper.run()
122
123
124
def test_n_processes_0():
125
    hyper = Hyperactive(n_processes=1)
126
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
127
    hyper.run()
128
129
    assert len(hyper.results_list) == 2
130
131
132
def test_n_processes_1():
133
    hyper = Hyperactive(n_processes=2)
134
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
135
    hyper.run()
136
137
    assert len(hyper.results_list) == 2
138
139
140
def test_n_processes_2():
141
    hyper = Hyperactive(n_processes=4)
142
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=2)
143
    hyper.run()
144
145
    assert len(hyper.results_list) == 2
146
147
148
def test_n_processes_3():
149
    hyper = Hyperactive(n_processes=4)
150
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=3)
151
    hyper.run()
152
153
    assert len(hyper.results_list) == 3
154
155
156
def test_n_processes_4():
157
    hyper = Hyperactive(n_processes=1)
158
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=4)
159
    hyper.run()
160
161
    assert len(hyper.results_list) == 4
162
163
164
def test_n_processes_5():
165
    hyper = Hyperactive(n_processes=1)
166
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=4)
167
    hyper.add_search(objective_function, search_space, n_iter=15, n_jobs=4)
168
    hyper.run()
169
170
    assert len(hyper.results_list) == 8
171