Update super cores

This commit is contained in:
D-X-Y
2021-03-18 18:32:26 +08:00
parent 63c8bb9bc8
commit eabdd21d97
9 changed files with 209 additions and 18 deletions

View File

@@ -9,3 +9,5 @@ from .basic_space import Continuous
from .basic_space import Integer
from .basic_op import has_categorical
from .basic_op import has_continuous
from .basic_op import get_min
from .basic_op import get_max

View File

@@ -1,4 +1,7 @@
from spaces.basic_space import Space
from spaces.basic_space import Integer
from spaces.basic_space import Continuous
from spaces.basic_space import Categorical
from spaces.basic_space import _EPS
@@ -14,3 +17,33 @@ def has_continuous(space_or_value, x):
return space_or_value.has(x)
else:
return abs(space_or_value - x) <= _EPS
def get_max(space_or_value):
if isinstance(space_or_value, Integer):
return max(space_or_value.candidates)
elif isinstance(space_or_value, Continuous):
return space_or_value.upper
elif isinstance(space_or_value, Categorical):
values = []
for index in range(len(space_or_value)):
max_value = get_max(space_or_value[index])
values.append(max_value)
return max(values)
else:
return space_or_value
def get_min(space_or_value):
if isinstance(space_or_value, Integer):
return min(space_or_value.candidates)
elif isinstance(space_or_value, Continuous):
return space_or_value.lower
elif isinstance(space_or_value, Categorical):
values = []
for index in range(len(space_or_value)):
min_value = get_min(space_or_value[index])
values.append(min_value)
return min(values)
else:
return space_or_value

View File

@@ -10,6 +10,9 @@ import numpy as np
from typing import Optional
__all__ = ["_EPS", "Space", "Categorical", "Integer", "Continuous"]
_EPS = 1e-9
@@ -54,6 +57,10 @@ class Categorical(Space):
), "default >= {:}".format(len(self._candidates))
assert len(self) > 0, "Please provide at least one candidate"
@property
def candidates(self):
return self._candidates
@property
def determined(self):
if len(self) == 1: