Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
bd2543e3
Unverified
Commit
bd2543e3
authored
Feb 24, 2021
by
SparkSnail
Committed by
GitHub
Feb 24, 2021
Browse files
Show trial environment information in reuse mode (#3389)
parent
9caf5215
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
10 additions
and
29 deletions
+10
-29
ts/nni_manager/common/datastore.ts
ts/nni_manager/common/datastore.ts
+1
-0
ts/nni_manager/common/manager.ts
ts/nni_manager/common/manager.ts
+0
-1
ts/nni_manager/core/nniDataStore.ts
ts/nni_manager/core/nniDataStore.ts
+1
-1
ts/nni_manager/core/nnimanager.ts
ts/nni_manager/core/nnimanager.ts
+0
-8
ts/nni_manager/core/sqlDatabase.ts
ts/nni_manager/core/sqlDatabase.ts
+6
-4
ts/nni_manager/rest_server/restHandler.ts
ts/nni_manager/rest_server/restHandler.ts
+0
-10
ts/nni_manager/rest_server/test/mockedNNIManager.ts
ts/nni_manager/rest_server/test/mockedNNIManager.ts
+0
-4
ts/nni_manager/training_service/reusable/trial.ts
ts/nni_manager/training_service/reusable/trial.ts
+1
-0
ts/nni_manager/training_service/reusable/trialDispatcher.ts
ts/nni_manager/training_service/reusable/trialDispatcher.ts
+1
-1
No files found.
ts/nni_manager/common/datastore.ts
View file @
bd2543e3
...
...
@@ -23,6 +23,7 @@ interface TrialJobEventRecord {
readonly
data
?:
string
;
readonly
logPath
?:
string
;
readonly
sequenceId
?:
number
;
readonly
message
?:
string
;
}
interface
MetricData
{
...
...
ts/nni_manager/common/manager.ts
View file @
bd2543e3
...
...
@@ -105,7 +105,6 @@ abstract class Manager {
public
abstract
getTrialLog
(
trialJobId
:
string
,
logType
:
LogType
):
Promise
<
string
>
;
public
abstract
getTrialJobStatistics
():
Promise
<
TrialJobStatistics
[]
>
;
public
abstract
getTrialJobMessage
(
trialJobId
:
string
):
string
|
undefined
;
public
abstract
getStatus
():
NNIManagerStatus
;
}
...
...
ts/nni_manager/core/nniDataStore.ts
View file @
bd2543e3
...
...
@@ -87,7 +87,6 @@ class NNIDataStore implements DataStore {
if
(
timestamp
===
undefined
)
{
timestamp
=
Date
.
now
();
}
return
this
.
db
.
storeTrialJobEvent
(
event
,
trialJobId
,
timestamp
,
hyperParameter
,
jobDetail
).
catch
(
(
err
:
Error
)
=>
{
throw
NNIError
.
FromError
(
err
,
'
Datastore error:
'
);
...
...
@@ -381,6 +380,7 @@ class NNIDataStore implements DataStore {
if
(
record
.
sequenceId
!==
undefined
&&
jobInfo
.
sequenceId
===
undefined
)
{
jobInfo
.
sequenceId
=
record
.
sequenceId
;
}
jobInfo
.
message
=
record
.
message
;
map
.
set
(
record
.
trialJobId
,
jobInfo
);
}
...
...
ts/nni_manager/core/nnimanager.ts
View file @
bd2543e3
...
...
@@ -353,14 +353,6 @@ class NNIManager implements Manager {
return
this
.
status
;
}
public
getTrialJobMessage
(
trialJobId
:
string
):
string
|
undefined
{
const
trialJob
=
this
.
trialJobs
.
get
(
trialJobId
);
if
(
trialJob
!==
undefined
){
return
trialJob
.
message
}
return
undefined
}
public
async
listTrialJobs
(
status
?:
TrialJobStatus
):
Promise
<
TrialJobInfo
[]
>
{
return
this
.
dataStore
.
listTrialJobs
(
status
);
}
...
...
ts/nni_manager/core/sqlDatabase.ts
View file @
bd2543e3
...
...
@@ -22,7 +22,7 @@ import { TrialJobDetail } from '../common/trainingService';
const
createTables
:
string
=
`
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer);
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer
, message text
);
create index TrialJobEvent_trialJobId on TrialJobEvent(trialJobId);
create index TrialJobEvent_event on TrialJobEvent(event);
...
...
@@ -62,7 +62,8 @@ function loadTrialJobEvent(row: any): TrialJobEventRecord {
event
:
row
.
event
,
data
:
row
.
data
===
null
?
undefined
:
row
.
data
,
logPath
:
row
.
logPath
===
null
?
undefined
:
row
.
logPath
,
sequenceId
:
row
.
sequenceId
===
null
?
undefined
:
row
.
sequenceId
sequenceId
:
row
.
sequenceId
===
null
?
undefined
:
row
.
sequenceId
,
message
:
row
.
message
===
null
?
undefined
:
row
.
message
};
}
...
...
@@ -163,10 +164,11 @@ class SqlDB implements Database {
public
storeTrialJobEvent
(
event
:
TrialJobEvent
,
trialJobId
:
string
,
timestamp
:
number
,
hyperParameter
?:
string
,
jobDetail
?:
TrialJobDetail
):
Promise
<
void
>
{
const
sql
:
string
=
'
insert into TrialJobEvent values (?,?,?,?,?,?)
'
;
const
sql
:
string
=
'
insert into TrialJobEvent values (?,?,?,?,?,?
,?
)
'
;
const
logPath
:
string
|
undefined
=
jobDetail
===
undefined
?
undefined
:
jobDetail
.
url
;
const
sequenceId
:
number
|
undefined
=
jobDetail
===
undefined
?
undefined
:
jobDetail
.
form
.
sequenceId
;
const
args
:
any
[]
=
[
timestamp
,
trialJobId
,
event
,
hyperParameter
,
logPath
,
sequenceId
];
const
message
:
string
|
undefined
=
jobDetail
===
undefined
?
undefined
:
jobDetail
.
message
;
const
args
:
any
[]
=
[
timestamp
,
trialJobId
,
event
,
hyperParameter
,
logPath
,
sequenceId
,
message
];
this
.
log
.
trace
(
`storeTrialJobEvent: SQL:
${
sql
}
, args:
${
JSON
.
stringify
(
args
)}
`
);
const
deferred
:
Deferred
<
void
>
=
new
Deferred
<
void
>
();
...
...
ts/nni_manager/rest_server/restHandler.ts
View file @
bd2543e3
...
...
@@ -213,7 +213,6 @@ class NNIRestHandler {
this
.
nniManager
.
listTrialJobs
(
req
.
query
.
status
).
then
((
jobInfos
:
TrialJobInfo
[])
=>
{
jobInfos
.
forEach
((
trialJob
:
TrialJobInfo
)
=>
{
this
.
setErrorPathForFailedJob
(
trialJob
);
this
.
setMessageforJob
(
trialJob
);
});
res
.
send
(
jobInfos
);
}).
catch
((
err
:
Error
)
=>
{
...
...
@@ -226,7 +225,6 @@ class NNIRestHandler {
router
.
get
(
'
/trial-jobs/:id
'
,
(
req
:
Request
,
res
:
Response
)
=>
{
this
.
nniManager
.
getTrialJob
(
req
.
params
.
id
).
then
((
jobDetail
:
TrialJobInfo
)
=>
{
const
jobInfo
:
TrialJobInfo
=
this
.
setErrorPathForFailedJob
(
jobDetail
);
this
.
setMessageforJob
(
jobInfo
);
res
.
send
(
jobInfo
);
}).
catch
((
err
:
Error
)
=>
{
this
.
handleError
(
err
,
res
);
...
...
@@ -327,14 +325,6 @@ class NNIRestHandler {
return
jobInfo
;
}
private
setMessageforJob
(
jobInfo
:
TrialJobInfo
):
TrialJobInfo
{
if
(
jobInfo
===
undefined
){
return
jobInfo
}
jobInfo
.
message
=
this
.
nniManager
.
getTrialJobMessage
(
jobInfo
.
trialJobId
);
return
jobInfo
}
}
export
function
createRestHandler
(
rs
:
NNIRestServer
):
Router
{
...
...
ts/nni_manager/rest_server/test/mockedNNIManager.ts
View file @
bd2543e3
...
...
@@ -111,10 +111,6 @@ export class MockedNNIManager extends Manager {
return
deferred
.
promise
;
}
public
getTrialJobMessage
(
trialJobId
:
string
):
string
|
undefined
{
return
"
TEST-MESSAGE
"
}
public
stopExperiment
():
Promise
<
void
>
{
throw
new
MethodNotImplementedError
();
}
...
...
ts/nni_manager/training_service/reusable/trial.ts
View file @
bd2543e3
...
...
@@ -19,6 +19,7 @@ export class TrialDetail implements TrialJobDetail {
public
form
:
TrialJobApplicationForm
;
public
isEarlyStopped
?:
boolean
;
public
environment
?:
EnvironmentInformation
;
public
message
?:
string
;
// init settings of trial
public
settings
=
{};
...
...
ts/nni_manager/training_service/reusable/trialDispatcher.ts
View file @
bd2543e3
...
...
@@ -435,7 +435,6 @@ class TrialDispatcher implements TrainingService {
if
(
environment
.
environmentService
===
undefined
)
{
throw
new
Error
(
`
${
environment
.
id
}
does not has environment service!`
);
}
trial
.
url
=
environment
.
trackingUrl
;
const
environmentStatus
=
environment
.
status
;
...
...
@@ -704,6 +703,7 @@ class TrialDispatcher implements TrainingService {
if
(
environment
.
environmentService
===
undefined
)
{
throw
new
Error
(
`
${
environment
.
id
}
environmentService not initialized!`
);
}
trial
.
message
=
`Platform:
${
environment
.
environmentService
.
getName
}
, environment:
${
environment
.
id
}
`
;
if
(
environment
.
environmentService
.
hasStorageService
)
{
const
storageService
=
component
.
get
<
StorageService
>
(
StorageService
);
trial
.
workingDirectory
=
storageService
.
joinPath
(
'
trials
'
,
trial
.
id
);
...
...
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