@@ 15-50 (lines=36) @@ | ||
12 | from ._properties import calculate_properties |
|
13 | ||
14 | ||
15 | class SearchSpaceDictLike(MutableMapping): |
|
16 | _search_space: dict = None |
|
17 | ||
18 | def __init__(self, constraints: List[callable] = None, **param_space): |
|
19 | self._search_space = dict(**param_space) |
|
20 | self.constraints = constraints |
|
21 | ||
22 | def __getitem__(self, key): |
|
23 | return self._search_space[key] |
|
24 | ||
25 | def __setitem__(self, key, value): |
|
26 | self._search_space[key] = value |
|
27 | ||
28 | def __delitem__(self, key): |
|
29 | del self._search_space[key] |
|
30 | ||
31 | def __iter__(self): |
|
32 | return iter(self._search_space) |
|
33 | ||
34 | def __len__(self): |
|
35 | return len(self._search_space) |
|
36 | ||
37 | def __repr__(self): |
|
38 | return f"{self.__class__.__name__}({self._search_space})" |
|
39 | ||
40 | def __call__(self): |
|
41 | return self._search_space |
|
42 | ||
43 | def keys(self): |
|
44 | return self._search_space.keys() |
|
45 | ||
46 | def values(self): |
|
47 | return self._search_space.values() |
|
48 | ||
49 | def items(self): |
|
50 | return self._search_space.items() |
|
51 | ||
52 | ||
53 | class SearchConfig(SearchSpaceDictLike): |
@@ 14-48 (lines=35) @@ | ||
11 | from ._properties import calculate_properties |
|
12 | ||
13 | ||
14 | class SearchSpaceDictLike(MutableMapping): |
|
15 | _search_space: dict = None |
|
16 | ||
17 | def __init__(self, **param_space): |
|
18 | self._search_space = dict(**param_space) |
|
19 | ||
20 | def __getitem__(self, key): |
|
21 | return self._search_space[key] |
|
22 | ||
23 | def __setitem__(self, key, value): |
|
24 | self._search_space[key] = value |
|
25 | ||
26 | def __delitem__(self, key): |
|
27 | del self._search_space[key] |
|
28 | ||
29 | def __iter__(self): |
|
30 | return iter(self._search_space) |
|
31 | ||
32 | def __len__(self): |
|
33 | return len(self._search_space) |
|
34 | ||
35 | def __repr__(self): |
|
36 | return f"{self.__class__.__name__}({self._search_space})" |
|
37 | ||
38 | def __call__(self): |
|
39 | return self._search_space |
|
40 | ||
41 | def keys(self): |
|
42 | return self._search_space.keys() |
|
43 | ||
44 | def values(self): |
|
45 | return self._search_space.values() |
|
46 | ||
47 | def items(self): |
|
48 | return self._search_space.items() |
|
49 | ||
50 | ||
51 | class SearchSpace(SearchSpaceDictLike): |