mirror of https://github.com/VLSIDA/OpenRAM.git
Changed the regression test to only run models for the output being tested.
This commit is contained in:
parent
4132decd32
commit
131ff8bcef
|
|
@ -167,7 +167,7 @@ class regression_model(simulation):
|
||||||
output_num+=1
|
output_num+=1
|
||||||
|
|
||||||
|
|
||||||
def cross_validation(self):
|
def cross_validation(self, test_only=None):
|
||||||
"""Wrapper for sklean cross validation function for OpenRAM regression models.
|
"""Wrapper for sklean cross validation function for OpenRAM regression models.
|
||||||
Returns the mean accuracy for each model/output."""
|
Returns the mean accuracy for each model/output."""
|
||||||
|
|
||||||
|
|
@ -183,7 +183,11 @@ class regression_model(simulation):
|
||||||
models = {}
|
models = {}
|
||||||
debug.info(1, "Output name, mean_accuracy, std_dev")
|
debug.info(1, "Output name, mean_accuracy, std_dev")
|
||||||
model_scores = {}
|
model_scores = {}
|
||||||
for o_name in self.output_names:
|
if test_only != None:
|
||||||
|
test_outputs = test_only
|
||||||
|
else:
|
||||||
|
test_outputs = self.output_names
|
||||||
|
for o_name in test_outputs:
|
||||||
output_label = labels[:,output_num]
|
output_label = labels[:,output_num]
|
||||||
scores = cross_val_score(untrained_model, features, output_label, cv=10)
|
scores = cross_val_score(untrained_model, features, output_label, cv=10)
|
||||||
debug.info(1, "{}, {}, {}".format(o_name, scores.mean(), scores.std()))
|
debug.info(1, "{}, {}, {}".format(o_name, scores.mean(), scores.std()))
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,8 @@ class regression_model_test(openram_test):
|
||||||
|
|
||||||
#m = linear_regression(s.s, tempspice, corner)
|
#m = linear_regression(s.s, tempspice, corner)
|
||||||
m = neural_network(s.s, tempspice, corner)
|
m = neural_network(s.s, tempspice, corner)
|
||||||
scores = m.cross_validation()
|
only_test = ['rise_delay']
|
||||||
|
scores = m.cross_validation(only_test)
|
||||||
accuracy_requirement = 0.75
|
accuracy_requirement = 0.75
|
||||||
self.assertTrue(scores['rise_delay'] >= accuracy_requirement)
|
self.assertTrue(scores['rise_delay'] >= accuracy_requirement)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue