@@ -40,47 +40,47 @@ def is_number(s):
40
40
return False
41
41
42
42
# Create parameters from JSON file (main functionality)
43
- def create_parameters (param_file , ignore_sigma = False ):
43
+ def create_parameters (param_file ):
44
44
with open (param_file ) as json_file :
45
45
data = json .load (json_file )
46
46
47
47
params = []
48
48
for item in data :
49
49
name = item ["name" ]
50
- t = item ["type" ]
51
- if ignore_sigma :
52
- sigma = float ("nan" )
53
- if t == "int" or t == "float" :
54
- lower = item ["lower" ]
55
- upper = item ["upper" ]
56
- if not ignore_sigma :
57
- sigma = item ["sigma" ]
58
-
59
- if t == "int" :
60
- params .append (
61
- IntParameter (name , int (lower ), int (upper ), int (sigma )))
62
- else :
63
- params .append (
64
- FloatParameter (name , float (lower ), float (upper ),
65
- float (sigma )))
50
+ type = item ["type" ]
51
+
52
+ if type == "int" :
53
+ lower = int (item ["lower" ])
54
+ upper = int (item ["upper" ])
55
+ # Allow for optional sigma
56
+ sigma = None if "sigma" not in item else int (item ["sigma" ])
57
+ params .append (IntParameter (name , lower , upper , sigma ))
58
+
59
+ elif type == "float" :
60
+ lower = float (item ["lower" ])
61
+ upper = float (item ["upper" ])
62
+ # Allow for optional sigma
63
+ sigma = None if "sigma" not in item else float (item ["sigma" ])
64
+ params .append (FloatParameter (name , lower , upper , sigma ))
65
+
66
+ elif type == "categorical" :
67
+ values = item ["values" ]
68
+ element_type = item ["element_type" ]
69
+ params .append (CategoricalParameter (name , values , element_type ))
66
70
67
- elif t == "categorical " :
68
- vs = item ["values" ]
71
+ elif type == "ordered " :
72
+ values = item ["values" ]
69
73
element_type = item ["element_type" ]
70
- params .append (CategoricalParameter (name , vs , element_type ))
74
+ # Allow for optional sigma
75
+ sigma = None if "sigma" not in item else item ["sigma" ]
76
+ params .append (OrderedParameter (name , values , sigma , element_type ))
71
77
72
- elif t == "logical" :
78
+ elif type == "logical" :
73
79
params .append (LogicalParameter (name ))
74
80
75
- elif t == "ordered" :
76
- vs = item ["values" ]
77
- if not ignore_sigma :
78
- sigma = item ["sigma" ]
79
- element_type = item ["element_type" ]
80
- params .append (OrderedParameter (name , vs , sigma , element_type ))
81
- elif t == "constant" :
82
- vs = item ["value" ]
83
- params .append (ConstantParameter (name , vs ))
81
+ elif type == "constant" :
82
+ values = item ["value" ]
83
+ params .append (ConstantParameter (name , values ))
84
84
85
85
return params
86
86
0 commit comments