Esempio n. 1
0
def test_update_completed_trial(random_dt):
    """Successfully push a completed trial into database."""
    with OrionState(trials=generate_trials(['new'])) as cfg:
        exp = Experiment('supernaekei')
        exp._id = cfg.trials[0]['experiment']

        trial = exp.reserve_trial()

        results_file = tempfile.NamedTemporaryFile(mode='w',
                                                   prefix='results_',
                                                   suffix='.log',
                                                   dir='.',
                                                   delete=True)

        # Generate fake result
        with open(results_file.name, 'w') as file:
            json.dump([{
                'name': 'loss',
                'type': 'objective',
                'value': 2
            }], file)
        # --

        exp.update_completed_trial(trial, results_file=results_file)

        yo = get_storage().fetch_trials(exp)[0].to_dict()

        assert len(yo['results']) == len(trial.results)
        assert yo['results'][0] == trial.results[0].to_dict()
        assert yo['status'] == 'completed'
        assert yo['end_time'] == random_dt

        results_file.close()
Esempio n. 2
0
def test_update_completed_trial(random_dt):
    """Successfully push a completed trial into database."""
    with OrionState(trials=generate_trials(["new"])) as cfg:
        exp = Experiment("supernaekei", mode="x")
        exp._id = cfg.trials[0]["experiment"]

        trial = exp.reserve_trial()

        results_file = tempfile.NamedTemporaryFile(mode="w",
                                                   prefix="results_",
                                                   suffix=".log",
                                                   dir=".",
                                                   delete=True)

        # Generate fake result
        with open(results_file.name, "w") as file:
            json.dump([{
                "name": "loss",
                "type": "objective",
                "value": 2
            }], file)
        # --

        exp.update_completed_trial(trial, results_file=results_file)

        yo = get_storage().fetch_trials(exp)[0].to_dict()

        assert len(yo["results"]) == len(trial.results)
        assert yo["results"][0] == trial.results[0].to_dict()
        assert yo["status"] == "completed"
        assert yo["end_time"] == random_dt

        results_file.close()