def test_weird_metric_names(self): WEIRD_METRIC_NAME = "this is/a weird/but valid metric" fs = FileStore(self.test_root) run_uuid = self.exp_data[0]["runs"][0] fs.log_metric(run_uuid, Metric(WEIRD_METRIC_NAME, 10, 1234)) metric = fs.get_metric(run_uuid, WEIRD_METRIC_NAME) assert metric.key == WEIRD_METRIC_NAME assert metric.value == 10 assert metric.timestamp == 1234
def test_get_deleted_run(self): """ Getting metrics/tags/params/run info should be allowed on deleted runs. """ fs = FileStore(self.test_root) exp_id = self.experiments[random_int(0, len(self.experiments) - 1)] run_id = self.exp_data[exp_id]['runs'][0] fs.delete_run(run_id) run = fs.get_run(run_id) assert fs.get_metric(run_id, run.data.metrics[0].key).value == run.data.metrics[0].value assert fs.get_param(run_id, run.data.params[0].key).value == run.data.params[0].value
def test_get_metric(self): fs = FileStore(self.test_root) for exp_id in self.experiments: runs = self.exp_data[exp_id]["runs"] for run_uuid in runs: run_info = self.run_data[run_uuid] metrics_dict = run_info.pop("metrics") for metric_name, values in metrics_dict.items(): # just the last recorded value timestamp, metric_value = values[-1] metric = fs.get_metric(run_uuid, metric_name) self.assertEqual(metric.timestamp, timestamp) self.assertEqual(metric.key, metric_name) self.assertEqual(metric.value, metric_value)