Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
ec41d563
Unverified
Commit
ec41d563
authored
Mar 25, 2019
by
SparkSnail
Committed by
GitHub
Mar 25, 2019
Browse files
Merge pull request #148 from Microsoft/master
merge master
parents
e1ae623f
8fd18a5a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
20 deletions
+30
-20
src/nni_manager/core/nniDataStore.ts
src/nni_manager/core/nniDataStore.ts
+29
-19
src/sdk/pynni/nni/hyperband_advisor/hyperband_advisor.py
src/sdk/pynni/nni/hyperband_advisor/hyperband_advisor.py
+1
-1
No files found.
src/nni_manager/core/nniDataStore.ts
View file @
ec41d563
...
...
@@ -250,29 +250,26 @@ class NNIDataStore implements DataStore {
return
<
TrialJobStatus
>
event
;
}
private
mergeHyperParameters
(
hyperParamList
:
string
[],
newParamStr
:
string
):
string
[]
{
const
mergedHyperParams
:
any
[]
=
[];
let
newParam
:
any
;
private
parseHyperParameter
(
hParamStr
:
string
):
any
{
let
hParam
:
any
;
try
{
newParam
=
JSON
.
parse
(
newParamStr
);
hParam
=
JSON
.
parse
(
hParamStr
);
return
hParam
;
}
catch
(
err
)
{
this
.
log
.
error
(
`Hyper parameter needs to be in json format:
${
new
ParamStr
}
`
);
this
.
log
.
error
(
`Hyper parameter needs to be in json format:
${
h
ParamStr
}
`
);
return
hyperParamList
;
}
for
(
const
hyperParamStr
of
hyperParamList
)
{
const
hyperParam
:
any
=
JSON
.
parse
(
hyperParamStr
);
mergedHyperParams
.
push
(
hyperParam
);
}
if
(
mergedHyperParams
.
filter
((
value
:
any
)
=>
value
.
parameter_index
===
newParam
.
parameter_index
).
length
<=
0
)
{
mergedHyperParams
.
push
(
newParam
);
return
undefined
;
}
return
mergedHyperParams
.
map
<
string
>
((
value
:
any
)
=>
{
return
JSON
.
stringify
(
value
);
});
}
// tslint:disable-next-line:cyclomatic-complexity
private
getTrialJobsByReplayEvents
(
trialJobEvents
:
TrialJobEventRecord
[]):
Map
<
string
,
TrialJobInfo
>
{
this
.
log
.
debug
(
'
getTrialJobsByReplayEvents begin
'
);
const
map
:
Map
<
string
,
TrialJobInfo
>
=
new
Map
();
const
hParamIdMap
:
Map
<
string
,
Set
<
number
>>
=
new
Map
();
// assume data is stored by time ASC order
for
(
const
record
of
trialJobEvents
)
{
let
jobInfo
:
TrialJobInfo
|
undefined
;
...
...
@@ -322,10 +319,21 @@ class NNIDataStore implements DataStore {
}
jobInfo
.
status
=
this
.
getJobStatusByLatestEvent
(
jobInfo
.
status
,
record
.
event
);
if
(
record
.
data
!==
undefined
&&
record
.
data
.
trim
().
length
>
0
)
{
if
(
jobInfo
.
hyperParameters
!==
undefined
)
{
jobInfo
.
hyperParameters
=
this
.
mergeHyperParameters
(
jobInfo
.
hyperParameters
,
record
.
data
);
}
else
{
assert
(
false
,
'
jobInfo.hyperParameters is undefined
'
);
const
newHParam
:
any
=
this
.
parseHyperParameter
(
record
.
data
);
if
(
newHParam
!==
undefined
)
{
if
(
jobInfo
.
hyperParameters
!==
undefined
)
{
let
hParamIds
:
Set
<
number
>
|
undefined
=
hParamIdMap
.
get
(
jobInfo
.
id
);
if
(
hParamIds
===
undefined
)
{
hParamIds
=
new
Set
();
}
if
(
!
hParamIds
.
has
(
newHParam
.
parameter_index
))
{
jobInfo
.
hyperParameters
.
push
(
JSON
.
stringify
(
newHParam
));
hParamIds
.
add
(
newHParam
.
parameter_index
);
hParamIdMap
.
set
(
jobInfo
.
id
,
hParamIds
);
}
}
else
{
assert
(
false
,
'
jobInfo.hyperParameters is undefined
'
);
}
}
}
if
(
record
.
sequenceId
!==
undefined
&&
jobInfo
.
sequenceId
===
undefined
)
{
...
...
@@ -334,6 +342,8 @@ class NNIDataStore implements DataStore {
map
.
set
(
record
.
trialJobId
,
jobInfo
);
}
this
.
log
.
debug
(
'
getTrialJobsByReplayEvents done
'
);
return
map
;
}
}
...
...
src/sdk/pynni/nni/hyperband_advisor/hyperband_advisor.py
View file @
ec41d563
...
...
@@ -300,7 +300,7 @@ class Hyperband(MsgDispatcherBase):
"""
def
__init__
(
self
,
R
,
eta
=
3
,
optimize_mode
=
'maximize'
):
"""B = (s_max + 1)R"""
super
()
super
(
Hyperband
,
self
).
__init__
(
)
self
.
R
=
R
# pylint: disable=invalid-name
self
.
eta
=
eta
self
.
brackets
=
dict
()
# dict of Bracket
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment