-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathbase.py
69 lines (43 loc) · 1.31 KB
/
base.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from abc import ABCMeta
from typing import Callable
import ray.tune as tune
from .builder import SPACES
class BaseSpace(metaclass=ABCMeta):
"""Base Space class."""
sample: Callable = None
def __init__(self, **kwargs) -> None:
self.kwargs = kwargs
@property
def space(self) -> tune.sample.Domain:
"""Return the space."""
return self.sample.__func__(**self.kwargs)
@SPACES.register_module()
class Uniform(BaseSpace):
sample: Callable = tune.uniform
@SPACES.register_module()
class Quniform(BaseSpace):
sample: Callable = tune.quniform
@SPACES.register_module()
class Loguniform(BaseSpace):
sample: Callable = tune.loguniform
@SPACES.register_module()
class Qloguniform(BaseSpace):
sample: Callable = tune.qloguniform
@SPACES.register_module()
class Randn(BaseSpace):
sample: Callable = tune.randn
@SPACES.register_module()
class Qrandn(BaseSpace):
sample: Callable = tune.qrandn
@SPACES.register_module()
class Randint(BaseSpace):
sample: Callable = tune.randint
@SPACES.register_module()
class Qrandint(BaseSpace):
sample: Callable = tune.qrandint
@SPACES.register_module()
class Lograndint(BaseSpace):
sample: Callable = tune.lograndint
@SPACES.register_module()
class Qlograndint(BaseSpace):
sample: Callable = tune.qlograndint