diff options
| author | YurenHao0426 <Blackhao0426@gmail.com> | 2026-08-29 13:28:44 -0500 |
|---|---|---|
| committer | YurenHao0426 <Blackhao0426@gmail.com> | 2026-08-29 13:28:44 -0500 |
| commit | 12b2b78d6963c1a074c63e30135c0641f19b85fc (patch) | |
| tree | 128c39092c76a1e1b82e07e2cf7d84a7bec92aa1 /experiments/physical_grid_bias_p5.py | |
| parent | 646f890833e2d3ff159debe45c186988e7081b16 (diff) | |
exp: stress test SDIL calibration
Diffstat (limited to 'experiments/physical_grid_bias_p5.py')
| -rw-r--r-- | experiments/physical_grid_bias_p5.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/experiments/physical_grid_bias_p5.py b/experiments/physical_grid_bias_p5.py index 8757ad2..d7f781b 100644 --- a/experiments/physical_grid_bias_p5.py +++ b/experiments/physical_grid_bias_p5.py @@ -140,6 +140,14 @@ def run_trial(job: dict) -> dict: seed=device_seed + 1_000_003 + task_index, ) ) + calibration_noise = job.get( + "calibration_noise_standard_deviation_v_per_s", 0.0) + if calibration_noise > 0.0: + calibration_rng = np.random.default_rng( + device_seed + 3_000_003 + task_index) + calibration_measurements = calibration_measurements + ( + calibration_rng.normal( + 0.0, calibration_noise, calibration_measurements.shape)) heldout_states, heldout_measurements = collect_neutral_observations( circuit, initial_gates, @@ -150,7 +158,10 @@ def run_trial(job: dict) -> dict: constant_predictor = make_predictor( calibration_states, calibration_measurements, degree=0) sdil_predictor = make_predictor( - calibration_states, calibration_measurements, degree=2) + calibration_states, + calibration_measurements, + degree=job.get("sdil_degree", 2), + ) predictors = { "constant": constant_predictor, "sdil": sdil_predictor, @@ -288,6 +299,12 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--device-seeds", default="20260829,20260830,20260831,20260832") parser.add_argument("--calibration-observations", type=int, default=16) + parser.add_argument( + "--calibration-noise-standard-deviation-v-per-s", + type=float, + default=0.0, + ) + parser.add_argument("--sdil-degree", type=int, default=2) parser.add_argument("--heldout-observations", type=int, default=64) parser.add_argument("--standard-epochs", type=int, default=600) parser.add_argument("--overclamp-epochs", type=int, default=1000) @@ -313,6 +330,9 @@ def main() -> None: "task": task, "device_seed": device_seed, "calibration_observations": args.calibration_observations, + "calibration_noise_standard_deviation_v_per_s": ( + args.calibration_noise_standard_deviation_v_per_s), + "sdil_degree": args.sdil_degree, "heldout_observations": args.heldout_observations, "standard_epochs": args.standard_epochs, "overclamp_epochs": args.overclamp_epochs, @@ -352,6 +372,9 @@ def main() -> None: "multiplier_output_offset_standard_deviation_v_per_s": 2.3, }, "calibration_observations_per_trial": args.calibration_observations, + "calibration_noise_standard_deviation_v_per_s": ( + args.calibration_noise_standard_deviation_v_per_s), + "sdil_polynomial_degree": args.sdil_degree, "calibration_scope": ( "per-edge degree-2 local predictor fitted once from neutral " "free=clamped observations and then frozen"), |
