@@ -35,7 +35,7 @@ class FeatureSpec:
3535 FeatureSpec ("tx" , "w_net_tx_packets" , 1.0 , True ),
3636]
3737
38- TARGET_COL = "rapl_psys_sum_uj"
38+ TARGET_COL = None # will be overridden later
3939FEATURE_COLS = [f .param_name for f in FEATURES ]
4040BASELINE_WEIGHTS = {
4141 "w_cpu_ns" : 5.0 ,
@@ -392,19 +392,9 @@ def print_metrics(label: str, metrics: dict[str, float]) -> None:
392392 print (f"MAPE : { metrics ['mape_pct' ]:.3f} %" if np .isfinite (metrics ["mape_pct" ]) else "MAPE : n/a" )
393393
394394
395- def main () -> None :
396- parser = argparse .ArgumentParser (
397- description = "Train nonlinear PSYS model and distill to kernel-friendly linear+multi-LUT params."
398- )
399- parser .add_argument ("logfiles" , nargs = "+" , type = Path )
400- parser .add_argument ("--test-data" , type = Path , help = "Optional separate dataset for testing" )
401- parser .add_argument ("--mode" , choices = ("delta" ,), default = "delta" )
402- parser .add_argument ("--alpha" , type = float , default = 10.0 , help = "L2 strength for non-negative linear fit" )
403- parser .add_argument ("--test-frac" , type = float , default = 0.2 )
404- parser .add_argument ("--min-target-uj" , type = float , default = 1.0 )
405- parser .add_argument ("--trim-upper-quantile" , type = float , default = 0.999 )
406- parser .add_argument ("--random-seed" , type = int , default = 42 )
407- args = parser .parse_args ()
395+ def main (args ) -> None :
396+ global TARGET_COL
397+ TARGET_COL = args .target
408398
409399 # Check all files exist
410400 for path in args .logfiles :
@@ -579,4 +569,18 @@ def main() -> None:
579569
580570
581571if __name__ == "__main__" :
582- main ()
572+ parser = argparse .ArgumentParser (
573+ description = "Train nonlinear PSYS model and distill to kernel-friendly linear+multi-LUT params."
574+ )
575+ parser .add_argument ("logfiles" , nargs = "+" , type = Path )
576+ parser .add_argument ("--mode" , choices = ("delta" ,), default = "delta" )
577+ parser .add_argument ("--alpha" , type = float , default = 10.0 , help = "L2 strength for non-negative linear fit" )
578+ parser .add_argument ("--test-frac" , type = float , default = 0.2 )
579+ parser .add_argument ("--min-target-uj" , type = float , default = 1.0 )
580+ parser .add_argument ("--trim-upper-quantile" , type = float , default = 0.999 )
581+ parser .add_argument ("--random-seed" , type = int , default = 42 )
582+ parser .add_argument ("--target" , type = str , choices = ["rapl_psys_sum_uj" , "rapl_core_sum_uj" ], default = "rapl_psys_sum_uj" )
583+
584+ args = parser .parse_args ()
585+
586+ main (args )
0 commit comments