-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathtest_all_methods.py
29 lines (27 loc) · 1.34 KB
/
test_all_methods.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : qichun tang
# @Date : 2020-12-19
# @Contact : qichun.tang@bupt.edu.cn
import unittest
from ultraopt import fmin
from ultraopt.constants import valid_optimizers, valid_parallel_strategies
from ultraopt.multi_fidelity import HyperBandIterGenerator, SuccessiveHalvingIterGenerator
from ultraopt.tests.mock import evaluate, config_space
class TestAllMethod(unittest.TestCase):
def test_all_methods(self):
for optimizer in valid_optimizers:
for parallel_strategie in valid_parallel_strategies:
if parallel_strategie == "AsyncComm":
multi_fidelity_iter_generators = [
HyperBandIterGenerator(50, 100, 2),
SuccessiveHalvingIterGenerator(50, 100, 2)]
else:
multi_fidelity_iter_generators = [None]
for multi_fidelity_iter_generator in multi_fidelity_iter_generators:
print(optimizer, parallel_strategie, multi_fidelity_iter_generator)
ret = fmin(
evaluate, config_space, optimizer=optimizer, n_iterations=2, n_jobs=2,
parallel_strategy=parallel_strategie, multi_fidelity_iter_generator=multi_fidelity_iter_generator
)
print(ret)