experiment.py 1.75 KB
Newer Older
SparkSnail's avatar
SparkSnail committed
1
2
3
4
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.

import argparse
5
from pathlib import Path
SparkSnail's avatar
SparkSnail committed
6
from subprocess import Popen, PIPE, STDOUT
J-shang's avatar
J-shang committed
7
from nni.tools.nnictl.config_utils import Experiments
8
9
10
from nni.tools.nnictl.common_utils import print_green
from nni.tools.nnictl.command_utils import kill_command
from nni.tools.nnictl.nnictl_utils import get_yml_content
SparkSnail's avatar
SparkSnail committed
11
12
13

def create_mock_experiment():
    nnictl_experiment_config = Experiments()
J-shang's avatar
J-shang committed
14
    nnictl_experiment_config.add_experiment('xOpEwA5w', 8080, 123456,
SparkSnail's avatar
SparkSnail committed
15
16
17
18
                                            'local', 'example_sklearn-classification')
    # mock process
    cmds = ['sleep', '3600000']
    process = Popen(cmds, stdout=PIPE, stderr=STDOUT)
J-shang's avatar
J-shang committed
19
20
21
    nnictl_experiment_config.update_experiment('xOpEwA5w', 'pid', process.pid)
    nnictl_experiment_config.update_experiment('xOpEwA5w', 'port', 8080)
    nnictl_experiment_config.update_experiment('xOpEwA5w', 'webuiUrl', ['http://localhost:8080'])
SparkSnail's avatar
SparkSnail committed
22
23
24
    print_green("expriment start success, experiment id: xOpEwA5w")

def stop_mock_experiment():
J-shang's avatar
J-shang committed
25
26
27
    nnictl_experiment_config = Experiments()
    experiments_dict = nnictl_experiment_config.get_all_experiments()
    kill_command(experiments_dict['xOpEwA5w'].get('pid'))
SparkSnail's avatar
SparkSnail committed
28
29
30
31
32
33
    nnictl_experiment_config = Experiments()
    nnictl_experiment_config.remove_experiment('xOpEwA5w')

def generate_args_parser():
    parser = argparse.ArgumentParser()
    parser.add_argument('id', nargs='?')
J-shang's avatar
J-shang committed
34
    parser.add_argument('--port', '-p', type=int, dest='port')
SparkSnail's avatar
SparkSnail committed
35
36
37
38
39
40
41
42
43
    parser.add_argument('--all', '-a', action='store_true')
    parser.add_argument('--head', type=int)
    parser.add_argument('--tail', type=int)
    return parser

def generate_args():
    parser = generate_args_parser()
    args = parser.parse_args(['xOpEwA5w'])
    return args