MCPcopy
hub / github.com/hyperopt/hyperopt / Hyperparameter

Class Hyperparameter

hyperopt/atpe.py:44–489  ·  view source on GitHub ↗

This class represents a hyperparameter.

Source from the content-addressed store, hash-verified

42
43
44class Hyperparameter:
45 """This class represents a hyperparameter."""
46
47 def __init__(self, config, parent=None, root="root"):
48 self.config = config
49 self.root = root
50 self.name = root[5:]
51 self.parent = parent
52 self.resultVariableName = re.sub("\\.\\d+\\.", ".", self.name)
53
54 self.hyperoptVariableName = self.root
55 if "name" in config:
56 self.hyperoptVariableName = config["name"]
57
58 def createHyperoptSpace(self, lockedValues=None):
59 name = self.root
60
61 if lockedValues is None:
62 lockedValues = {}
63
64 if "anyOf" in self.config or "oneOf" in self.config:
65 v = "anyOf" if "anyOf" in self.config else "oneOf"
66 data = self.config[v]
67
68 subSpaces = [
69 Hyperparameter(
70 param, self, name + "." + str(index)
71 ).createHyperoptSpace(lockedValues)
72 for index, param in enumerate(data)
73 ]
74 for index, space in enumerate(subSpaces):
75 space["$index"] = index
76
77 choices = hp.choice(self.hyperoptVariableName, subSpaces)
78
79 return choices
80 elif "enum" in self.config:
81 if self.name in lockedValues:
82 return lockedValues[self.name]
83
84 choices = hp.choice(self.hyperoptVariableName, self.config["enum"])
85 return choices
86 elif "constant" in self.config:
87 if self.name in lockedValues:
88 return lockedValues[self.name]
89
90 return self.config["constant"]
91 elif self.config["type"] == "object":
92 space = {}
93 for key in self.config["properties"].keys():
94 config = self.config["properties"][key]
95 space[key] = Hyperparameter(
96 config, self, name + "." + key
97 ).createHyperoptSpace(lockedValues)
98 return space
99 elif self.config["type"] == "number":
100 if self.name in lockedValues:
101 return lockedValues[self.name]

Callers 11

createHyperoptSpaceMethod · 0.85
getFlatParameterNamesMethod · 0.85
getFlatParametersMethod · 0.85
getLog10CardinalityMethod · 0.85
convertToFlatValuesMethod · 0.85
suggestFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected