コード例 #1
0
ファイル: test_repeater.py プロジェクト: dpukhkaiev/BRISE2
def measure_task(configurations_sample: list, tasks_sample: list,
                 experiment_description: dict, search_space: Hyperparameter,
                 measured_tasks: int, config_type: Configuration.Type,
                 config_status: Configuration.Status):
    """
    Test function for Repeater module.
    Main steps:
    0. Take default tasks sample.
    1. Create instances of Repeater, Experiment, Default Configuration according to test requirements.
    2. Create instance of current measurement.
    3. Call Repeater function.

    :param configurations_sample: default sample of measured configurations
    :param tasks_sample: default sample of measured tasks
    :param experiment_description: Experiment Description sample in json format
    :param search_space: Search Space sample
    :param measured_tasks: specify number of measured tasks in current measurement.
    :param config_type: specify current measurement configuration type.
    :param config_status: specify current measurement configuration status.

    :return: list of configuration status and number of tasks to measure.
    """
    experiment = Experiment(experiment_description, search_space)
    Configuration.set_task_config(experiment.description["TaskConfiguration"])
    configuration = Configuration(configurations_sample[1]["Params"],
                                  config_type, experiment.unique_id)
    configuration.status = config_status
    for i in range(0, measured_tasks):
        configuration.add_task(tasks_sample[i])
    orchestrator = RepeaterOrchestration(experiment)
    if config_type == Configuration.Type.DEFAULT:
        orchestrator._type = orchestrator.get_repeater(True)
    else:
        orchestrator._type = orchestrator.get_repeater()
        default_configuration = Configuration(
            configurations_sample[0]["Params"], Configuration.Type.DEFAULT,
            experiment.unique_id)
        default_configuration.status = Configuration.Status.MEASURED
        default_configuration._task_number = configurations_sample[0]["Tasks"]
        default_configuration.results = configurations_sample[0]["Results"]
        default_configuration._standard_deviation = configurations_sample[0][
            "STD"]
        experiment.default_configuration = default_configuration
    task = json.dumps({"configuration": configuration.to_json()})

    dummy_channel = None
    dummy_method = None
    dummy_properties = None

    results_measurement = orchestrator.measure_configurations(
        dummy_channel, dummy_method, dummy_properties, task)

    return results_measurement
コード例 #2
0
ファイル: test_database.py プロジェクト: dpukhkaiev/BRISE2
 def test_4_write_task_record(self):
     # Test #4. Format and write Task record to the database
     # Expected result: record can be read from the database.
     # Task belongs to the expected configuration and has expected task ID
     c1 = Configuration(
         OrderedDict({
             "frequency": "dummy",
             "threads": "dummy"
         }), Configuration.Type.DEFAULT, "DummyID")
     task = {
         'task id': 'id',
         'worker': 'worker',
         'result': {
             'energy': 0.9
         },
         'ResultValidityCheckMark': 'OK'
     }
     c1.add_task(task)
     database.write_one_record("Tasks", c1.get_task_record(task))
     written_record = database.get_all_records("Tasks")[0]
     assert c1.unique_id == written_record["Configuration_ID"]
     assert task['task id'] == written_record["Task_ID"]
     assert task == written_record["Task"]