-
Notifications
You must be signed in to change notification settings - Fork 1
/
hossSchema.json
127 lines (126 loc) · 3.75 KB
/
hossSchema.json
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{
"type": "object",
"properties": {
"FileType": {"enum": ["Hoss", "HOSS", "hoss"]},
"Version": {"pattern": "[2-9].*"},
"author": {"type": "string"},
"model": {"type": "string"},
"map": {"pattern": "^.+\\.(json|JSON)$" },
"exptDir": {"type": "string"},
"outputDir": {"type": "string"},
"scoreFunc": {"type": "string"},
"tolerance": {"type": "number", "minimum": 1e-7},
"timeout": {"type": "number", "minimum": 0.1, "default": 300 },
"algorithm": {"type": "string"},
"comment": { "type": "string" },
"hossMethod": { "type": "object",
"properties": {
"method": {"enum": ["hoss", "flat", "initScram", "hossMC"]},
"numProcesses": {"type": "number", "minimum": 1},
"freezeParams": {"type": "array",
"items": {"type": "string" }
},
"numInitScramble": {"type": "number"},
"scrambleRange": {"type": "number"},
"numTopModels": {"type": "number" },
"numScramble": { "type": "number" },
"scramDir": {"type": "string"}
},
"oneOf": [
{
"properties": {
"method": {"enum": ["hoss", "flat"]},
"numProcesses": {"type": "number", "minimum": 1}
},
"required": ["method"],
"additionalProperties": false
},
{
"properties": {
"method": {"const": "initScram"},
"numProcesses": {"type": "number", "minimum": 1},
"freezeParams": {"type": "array",
"items": {"type": "string" }
},
"numInitScramble": {"type": "number"},
"scrambleRange": {"type": "number"},
"scramDir": {"type": "string"}
},
"required": ["method", "numInitScramble",
"scrambleRange"],
"additionalProperties": false
},
{
"properties": {
"method": {"const": "hossMC"},
"numProcesses": {"type": "number", "minimum": 1},
"freezeParams": {"type": "array",
"items": {"type": "string" }
},
"numInitScramble": {"type": "number"},
"scrambleRange": {"type": "number"},
"numTopModels": {"type": "number" },
"numScramble": { "type": "number" },
"scramDir": {"type": "string"}
},
"required": ["method", "numInitScramble",
"scrambleRange",
"numTopModels", "numScramble"],
"additionalProperties": false
}
],
"additionalProperties": false
},
"HOSS" : {"type": "array",
"items": {"type": "object",
"properties": {
"name": {"type": "string" },
"hierarchyLevel": {"type": "number" },
"comment": { "type": "string" }
},
"required": ["hierarchyLevel"],
"additionalProperties": {"type": "object",
"properties": {
"comment": { "type": "string" },
"resultFile": { "type": "string" },
"optModelFile": { "type": "string" },
"optParamFile": { "type": "string" },
"scoreFunc": { "type": "string" },
"tolerance": { "type": "number" },
"algorithm": { "type": "string" },
"expt": {"type": "object",
"additionalProperties": { "type": "object",
"properties": {
"scoreFunc": {"type": "string" },
"weight": {"type": "number" },
"comment": {"type": "string" }
},
"required": ["weight"],
"additionalProperties": false
},
"minProperties": 1
},
"params": { "type" : "array",
"items": { "type": "string" },
"minItems": 1
},
"paramBounds": { "type" : "object",
"additionalProperties": { "type": "array",
"prefixItems": [
{"type": "number"},
{"type": "number"},
{"enum": [0, 1]}
]
}
}
},
"required": ["expt", "params"],
"additionalProperties": false
}
},
"minItems": 1
}
},
"required": ["FileType", "Version", "author", "model", "map", "HOSS", "scoreFunc", "tolerance", "algorithm", "hossMethod"],
"additionalProperties": false
}