multi_thread_tuner.py 972 Bytes
Newer Older
liuzhe-lz's avatar
liuzhe-lz committed
1
2
3
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.

4
import logging
5
6
7
8
9
10
11
12
import time
from nni.tuner import Tuner


class MultiThreadTuner(Tuner):
    def __init__(self):
        self.parent_done = False

13
    def generate_parameters(self, parameter_id, **kwargs):
14
        logging.debug('generate_parameters: %s %s', parameter_id, kwargs)
15
16
17
18
        if parameter_id == 0:
            return {'x': 0}
        else:
            while not self.parent_done:
19
                logging.debug('parameter_id %s sleeping', parameter_id)
20
                time.sleep(2)
21
            logging.debug('parameter_id %s waked up', parameter_id)
22
23
            return {'x': 1}

24
    def receive_trial_result(self, parameter_id, parameters, value, **kwargs):
25
        logging.debug('receive_trial_result: %s %s %s %s', parameter_id, parameters, value, kwargs)
26
27
28
29
30
        if parameter_id == 0:
            self.parent_done = True

    def update_search_space(self, search_space):
        pass