trial.ts 1.43 KB
Newer Older
1
2
3
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.

4
5
import { TrialJobApplicationForm, TrialJobDetail, TrialJobStatus } from "common/trainingService";
import { GPUInfo } from "training_service/common/gpuData";
J-shang's avatar
J-shang committed
6
import { EnvironmentInformation, NodeInformation } from "./environment";
7
8
9
10
11
12
13
14
15
16
17
18
19

export class TrialDetail implements TrialJobDetail {
    public id: string;
    public status: TrialJobStatus;
    public submitTime: number;
    public startTime?: number;
    public endTime?: number;
    public tags?: string[];
    public url?: string;
    public workingDirectory: string;
    public form: TrialJobApplicationForm;
    public isEarlyStopped?: boolean;
    public environment?: EnvironmentInformation;
20
    public message?: string;
21
22
23
24

    // init settings of trial
    public settings = {};
    // it's used to aggregate node status for multiple node trial
J-shang's avatar
J-shang committed
25
    public nodes: Map<string, NodeInformation>;
26
    // assigned GPUs for multi-trial scheduled.
27
    public assignedGpus: GPUInfo[] | undefined;
28
29
30
31
32
33
34
35
36
37
38

    public readonly TRIAL_METADATA_DIR = ".nni";

    constructor(id: string, status: TrialJobStatus, submitTime: number,
        workingDirectory: string, form: TrialJobApplicationForm) {
        this.id = id;
        this.status = status;
        this.submitTime = submitTime;
        this.workingDirectory = workingDirectory;
        this.form = form;
        this.tags = [];
J-shang's avatar
J-shang committed
39
        this.nodes = new Map<string, NodeInformation>();
40
41
    }
}