| @@ 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): |
|