Skip to content

Commit 32d0d89

Browse files
committed
chore: unit test different power models and get results
Signed-off-by: Huamin Chen <[email protected]>
1 parent 8fd8721 commit 32d0d89

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

tests/estimator_power_request_test.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55
from kepler_model.util.train_types import (
66
CATEGORICAL_LABEL_TO_VOCAB,
77
SYSTEM_FEATURES,
8-
WORKLOAD_FEATURES,
8+
BPF_FEATURES,
99
ModelOutputType,
1010
)
1111
from tests.extractor_test import test_energy_source
1212

13-
trainer_names = ["SGDRegressorTrainer"]
13+
trainer_names = ["SGDRegressorTrainer_0", "LogarithmicRegressionTrainer_0.json"]
1414
test_energy_sources = ["acpi", "rapl-sysfs"]
1515

1616

1717
def generate_request(
18-
train_name, n=1, metrics=WORKLOAD_FEATURES, system_features=SYSTEM_FEATURES, output_type=ModelOutputType.DynPower.name, energy_source=test_energy_source
18+
train_name, n=1, metrics=BPF_FEATURES, system_features=SYSTEM_FEATURES, output_type=ModelOutputType.AbsPower.name, energy_source=test_energy_source
1919
):
2020
request_json = dict()
2121
if train_name is not None:
@@ -25,19 +25,20 @@ def generate_request(
2525
request_json["system_values"] = []
2626
for m in system_features:
2727
request_json["system_values"] += [CATEGORICAL_LABEL_TO_VOCAB[m][0]]
28-
request_json["values"] = [[1.0] * len(metrics)] * n
28+
request_json["values"] = [[1000.0] * len(metrics)] * n
2929
request_json["output_type"] = output_type
3030
request_json["source"] = energy_source
3131
return request_json
3232

3333

3434
def process(client, energy_source):
35-
request_json = generate_request(trainer_names[0], 2, output_type="AbsPower", energy_source=energy_source)
36-
res = client.make_request(request_json)
37-
res_json = json.loads(res)
38-
print(res_json)
39-
assert res_json["msg"] == "", "response error: {}".format(res_json["msg"])
40-
assert len(res_json["powers"]) > 0, "zero powers"
35+
for trainer_name in trainer_names:
36+
request_json = generate_request(trainer_name, 2, output_type="AbsPower", energy_source=energy_source)
37+
res = client.make_request(request_json)
38+
res_json = json.loads(res)
39+
print(res_json)
40+
assert res_json["msg"] == "", "response error: {}".format(res_json["msg"])
41+
assert len(res_json["powers"]) > 0, "zero powers"
4142

4243

4344
class Client:

0 commit comments

Comments
 (0)