multi_thread_tuner.py 898 Bytes
Newer Older
1
import logging
2
3
4
5
6
7
8
9
import time
from nni.tuner import Tuner


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

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

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

    def update_search_space(self, search_space):
        pass