From 3d50ea64ac48b4b64e5ca9d14fb59f2c2710fa6d Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Sat, 29 Aug 2026 18:10:59 -0500 Subject: results: freeze size-matched overclamp selector --- experiments/coupled_ladder_scaling.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'experiments') diff --git a/experiments/coupled_ladder_scaling.py b/experiments/coupled_ladder_scaling.py index bb6f090..680b855 100644 --- a/experiments/coupled_ladder_scaling.py +++ b/experiments/coupled_ladder_scaling.py @@ -267,6 +267,11 @@ def parse_args() -> argparse.Namespace: parser.add_argument("--calibration-observations", type=int, default=16) parser.add_argument( "--overclamp-time-seconds-per-v", type=float, default=0.0025) + parser.add_argument( + "--overclamp-times", + default=None, + help="optional side:time mapping that overrides the scalar value", + ) parser.add_argument("--gain-standard-deviation", type=float, default=0.01) parser.add_argument( "--twin-mismatch-standard-deviation-v", type=float, default=0.001) @@ -288,6 +293,17 @@ def main() -> None: if missing_times: raise ValueError( f"learning times are missing sizes {sorted(missing_times)}") + if args.overclamp_times is None: + overclamp_times = { + side: args.overclamp_time_seconds_per_v for side in sizes + } + else: + overclamp_times = parse_mapping(args.overclamp_times, float) + missing_overclamp_times = set(sizes) - set(overclamp_times) + if missing_overclamp_times: + raise ValueError( + "overclamp times are missing sizes " + f"{sorted(missing_overclamp_times)}") methods = tuple(args.methods.split(",")) unknown_methods = set(methods) - set(METHODS) if unknown_methods: @@ -305,8 +321,7 @@ def main() -> None: "record_every": args.record_every, "learning_time_seconds": learning_times[side], "calibration_observations": args.calibration_observations, - "overclamp_time_seconds_per_v": ( - args.overclamp_time_seconds_per_v), + "overclamp_time_seconds_per_v": overclamp_times[side], "gain_standard_deviation": args.gain_standard_deviation, "twin_mismatch_standard_deviation_v": ( args.twin_mismatch_standard_deviation_v), @@ -348,8 +363,7 @@ def main() -> None: "record_every": args.record_every, "learning_time_seconds_by_side": learning_times, "calibration_observations": args.calibration_observations, - "overclamp_time_seconds_per_v": ( - args.overclamp_time_seconds_per_v), + "overclamp_time_seconds_per_v_by_side": overclamp_times, "component_imperfection": { "gain_standard_deviation": args.gain_standard_deviation, "twin_mismatch_standard_deviation_v": ( -- cgit v1.2.3