From 240be46d585af921905767126e56af3d8a23256c Mon Sep 17 00:00:00 2001 From: yangdsh Date: Tue, 17 Mar 2020 05:04:46 +0000 Subject: [PATCH] do not use range_test results for tuning --- server/website/website/tasks/async_tasks.py | 3 +++ server/website/website/utils.py | 2 ++ server/website/website/views.py | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/server/website/website/tasks/async_tasks.py b/server/website/website/tasks/async_tasks.py index d83d3c7..9b09fc2 100644 --- a/server/website/website/tasks/async_tasks.py +++ b/server/website/website/tasks/async_tasks.py @@ -448,6 +448,9 @@ def train_ddpg(train_ddpg_input): params = JSONUtil.loads(session.hyperparameters) session_results = Result.objects.filter(session=session, creation_time__lt=result.creation_time) + for i, result in enumerate(session_results): + if 'range_test' in result.metric_data.name: + session_results.pop(i) target_data = {} target_data['newest_result_id'] = result_id diff --git a/server/website/website/utils.py b/server/website/website/utils.py index 07b75f4..8fc20ac 100644 --- a/server/website/website/utils.py +++ b/server/website/website/utils.py @@ -153,6 +153,8 @@ class DataUtil(object): rowlabels = np.empty(len(results), dtype=int) for i, result in enumerate(results): + if 'range_test' in result.metric_data.name: + continue param_data = JSONUtil.loads(result.knob_data.data) if len(param_data) != len(knob_labels): raise Exception( diff --git a/server/website/website/views.py b/server/website/website/views.py index 21dca2b..e25182d 100644 --- a/server/website/website/views.py +++ b/server/website/website/views.py @@ -645,7 +645,7 @@ def handle_result_files(session, files, execution_times=None): if 'status' in summary and summary['status'] == "range_test": # The metric should not be used for learning because the driver did not run workload # We tag the metric as invalid, so later they will be set to the worst result - metric_data.name = metric_data.name + '*' + metric_data.name = 'range_test_' + metric_data.name + '*' metric_data.save() # Create a new workload if this one does not already exist