Start and Manage a New Experiment

1. Configure Search Space

[1]:
search_space = {
    "C": {"_type":"quniform","_value":[0.1, 1, 0.1]},
    "kernel": {"_type":"choice","_value":["linear", "rbf", "poly", "sigmoid"]},
    "degree": {"_type":"choice","_value":[1, 2, 3, 4]},
    "gamma": {"_type":"quniform","_value":[0.01, 0.1, 0.01]},
    "coef0": {"_type":"quniform","_value":[0.01, 0.1, 0.01]}
}

2. Configure Experiment

[2]:
from nni.experiment import Experiment
experiment = Experiment('local')
experiment.config.experiment_name = 'Example'
experiment.config.trial_concurrency = 2
experiment.config.max_trial_number = 10
experiment.config.search_space = search_space
experiment.config.trial_command = 'python3 main.py'
experiment.config.trial_code_directory = './'
experiment.config.tuner.name = 'TPE'
experiment.config.tuner.class_args['optimize_mode'] = 'maximize'
experiment.config.training_service.use_active_gpu = True

3. Start Experiment

[3]:
experiment.start(8080)
[2021-03-05 12:12:19] Creating experiment, Experiment ID: wdt0le3v
[2021-03-05 12:12:19] Starting web server...
[2021-03-05 12:12:20] Setting up...
[2021-03-05 12:12:20] Web UI URLs: http://127.0.0.1:8080 http://10.0.1.5:8080 http://172.17.0.1:8080

4. Experiment View & Control

[4]:
experiment.get_status()
[4]:
'RUNNING'
[5]:
experiment.export_data()
[5]:
[TrialResult(parameter={'C': 0.30000000000000004, 'kernel': 'linear', 'degree': 3, 'gamma': 0.03, 'coef0': 0.07}, value=0.9888888888888889, trialJobId='VLqU9'),
 TrialResult(parameter={'C': 0.5, 'kernel': 'sigmoid', 'degree': 1, 'gamma': 0.03, 'coef0': 0.07}, value=0.8888888888888888, trialJobId='DLo6r')]
[6]:
experiment.get_job_metrics()
[6]:
{'DLo6r': [TrialMetricData(timestamp=1614946351592, trialJobId='DLo6r', parameterId='1', type='FINAL', sequence=0, data=0.8888888888888888)],
 'VLqU9': [TrialMetricData(timestamp=1614946351607, trialJobId='VLqU9', parameterId='0', type='FINAL', sequence=0, data=0.9888888888888889)]}

5. Stop Experiment

[7]:
experiment.stop()
[2021-03-05 12:12:40] Stopping experiment, please wait...
[2021-03-05 12:12:42] Experiment stopped