Skip to content

Commit 65b40a5

Browse files
committed
Quality of Life improvements
1 parent ca3347a commit 65b40a5

3 files changed

Lines changed: 17 additions & 18 deletions

File tree

scoring/performance_profile.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,19 @@
2626
the dictionary of submissions.
2727
"""
2828
import itertools
29-
import logging
3029
import operator
3130
import os
3231
import re
3332

34-
from absl import logging
3533
import matplotlib as mpl
3634
import matplotlib.pyplot as plt
3735
import numpy as np
3836
import pandas as pd
37+
from absl import logging
3938
from tabulate import tabulate
4039

41-
from algorithmic_efficiency.workloads.workloads import get_base_workload_name
4240
import algorithmic_efficiency.workloads.workloads as workloads_registry
41+
from algorithmic_efficiency.workloads.workloads import get_base_workload_name
4342
from scoring import scoring_utils
4443

4544
WORKLOADS = workloads_registry.WORKLOADS
@@ -184,10 +183,10 @@ def get_workloads_time_to_target(submission,
184183
if strict:
185184
raise ValueError(
186185
f'Expecting {NUM_BASE_WORKLOADS + NUM_VARIANT_WORKLOADS} workloads '
187-
f'but found {num_workloads} workloads.')
186+
f'but found {num_workloads} workloads for {submission_name}.')
188187
logging.warning(
189188
f'Expecting {NUM_BASE_WORKLOADS + NUM_VARIANT_WORKLOADS} workloads '
190-
f'but found {num_workloads} workloads.')
189+
f'but found {num_workloads} workloads for {submission_name}.')
191190

192191
# For each workload get submission time get the submission times to target.
193192
for workload, group in submission.groupby('workload'):
@@ -198,11 +197,13 @@ def get_workloads_time_to_target(submission,
198197
num_studies = len(group.groupby('study'))
199198
if num_studies != NUM_STUDIES:
200199
if strict:
201-
raise ValueError(f'Expecting {NUM_STUDIES} trials for workload '
202-
f'{workload} but found {num_studies} trials.')
200+
raise ValueError(f'Expecting {NUM_STUDIES} studies for workload '
201+
f'{workload} but found {num_studies} studies '
202+
f'for {submission_name}.')
203203
else:
204-
logging.warning(f'Expecting {NUM_STUDIES} trials for workload '
205-
f'{workload} but found {num_studies} trials.')
204+
logging.warning(f'Expecting {NUM_STUDIES} studies for workload '
205+
f'{workload} but found {num_studies} studies '
206+
f'for {submission_name}.')
206207

207208
# For each study check trials
208209
for study, group in group.groupby('study'):
@@ -213,11 +214,13 @@ def get_workloads_time_to_target(submission,
213214
if strict:
214215
raise ValueError(
215216
f'In Study {study}: Expecting {NUM_TRIALS} trials for workload '
216-
f'{workload} but found {num_trials} trials.')
217+
f'{workload} but found {num_trials} trials '
218+
f'for {submission_name}.')
217219
else:
218220
logging.warning(
219221
f'In Study {study}: Expecting {NUM_TRIALS} trials for workload '
220-
f'{workload} but found {num_trials} trials.')
222+
f'{workload} but found {num_trials} trials '
223+
f'for {submission_name}.')
221224

222225
# Get trial and time index that reaches target
223226
trial_idx, time_idx = get_best_trial_index(
@@ -309,7 +312,6 @@ def compute_performance_profiles(submissions,
309312
df[df.apply(lambda x: x > 4 * best_scores, axis=1)] = np.inf
310313

311314
# For each held-out workload if variant target was not hit set submission to inf
312-
framework = None
313315
for workload in df.keys():
314316
if workload not in BASE_WORKLOADS:
315317
# If variants do not have finite score set base_workload score to inf

scoring/score_submissions.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,15 @@
1212
--compute_performance_profiles
1313
"""
1414

15-
import json
1615
import operator
1716
import os
1817
import pickle
1918

20-
from absl import app
21-
from absl import flags
22-
from absl import logging
2319
import numpy as np
2420
import pandas as pd
2521
import performance_profile
2622
import scoring_utils
23+
from absl import app, flags, logging
2724
from tabulate import tabulate
2825

2926
flags.DEFINE_string(
@@ -136,7 +133,7 @@ def get_submission_summary(df, include_test_split=True):
136133
return df
137134

138135

139-
def compute_leaderboard_score(df, normalize=False):
136+
def compute_leaderboard_score(df, normalize=True):
140137
"""Compute leaderboard score by taking integral of performance profile.
141138
142139
Args:

scoring/scoring_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import os
55
import re
66

7-
from absl import logging
87
import pandas as pd
8+
from absl import logging
99

1010
import algorithmic_efficiency.workloads.workloads as workloads_registry
1111

0 commit comments

Comments
 (0)