def testBestTrialStr(self): """Assert that custom nested parameter columns are printed correctly""" config = {"nested": {"conf": "nested_value"}, "toplevel": "toplevel_value"} trial = Trial("", config=config, stub=True) trial.last_result = {"metric": 1, "config": config} result = best_trial_str(trial, "metric") self.assertIn("nested_value", result) result = best_trial_str(trial, "metric", parameter_columns=["nested/conf"]) self.assertIn("nested_value", result)
def testProgressStr(self): trials = [] for i in range(5): t = Mock() if i == 0: t.status = "TERMINATED" elif i == 1: t.status = "PENDING" else: t.status = "RUNNING" t.trial_id = "%05d" % i t.local_dir = "/foo" t.location = "here" t.config = {"a": i, "b": i * 2, "n": {"k": [i, 2 * i]}} t.evaluated_params = { "a": i, "b": i * 2, "n/k/0": i, "n/k/1": 2 * i } t.last_result = { "config": { "a": i, "b": i * 2, "n": { "k": [i, 2 * i] } }, "metric_1": i / 2, "metric_2": i / 4 } t.__str__ = lambda self: self.trial_id trials.append(t) # One metric, two parameters prog1 = trial_progress_str(trials, ["metric_1"], ["a", "b"], fmt="psql", max_rows=3) print(prog1) assert prog1 == EXPECTED_RESULT_1 # No metric, all parameters prog2 = trial_progress_str(trials, [], None, fmt="psql", max_rows=None) print(prog2) assert prog2 == EXPECTED_RESULT_2 # Both metrics, one parameter, all with custom representation prog3 = trial_progress_str(trials, { "metric_1": "Metric 1", "metric_2": "Metric 2" }, {"a": "A"}, fmt="psql", max_rows=3) print(prog3) assert prog3 == EXPECTED_RESULT_3 # Current best trial best1 = best_trial_str(trials[1], "metric_1") assert best1 == EXPECTED_BEST_1