BatterySwapAI2026-MnesisLab / REPRODUCIBILITY.md
CarlAlbertCode's picture
Minimise documentation and remove unused build scripts
63098dc
|
Raw
History Blame Contribute Delete
1.26 kB

Reproducing

Dataset revision 7f423ac4cb6ab146f7ea7a37872eb4dfc3c9705c; place the train split in data/raw/train/.

The artifact wraps a byte-preserved base model (63d71091d7f46e8fb11798b7c2be936cc7e0022954824a4eb98c07dc1bf9b0b3) and differs from it only in planner policy constants. scripts/build_hierarchical_fpt_submission.py rebuilds it and asserts the embedded base hash.

docker build -t batteryswap .

docker run --rm -v "$(pwd)":/work -w /work -e PYTHONPATH=/work/src \
  batteryswap /app/env/bin/python3 scripts/build_hierarchical_fpt_submission.py \
  --output submission_artifacts/weekly99_planner.joblib \
  --manifest submission_artifacts/weekly99_planner.json

Run and test:

docker run --rm --network none -e BATTERYSWAP_SPLITS=train \
  -e BATTERYSWAP_SUBMISSION_PATH=/out/submission.csv \
  -v "$(pwd)/data/raw":/tmp/data:ro -v "$(pwd)/artifacts":/out \
  batteryswap /app/env/bin/python3 script.py

docker run --rm -v "$(pwd)":/work -w /work -e PYTHONPATH=/work/src \
  batteryswap /app/env/bin/python3 -m pytest -q

Expected: 19,890 rows, byte-identical across repeated runs, inside the 30-minute and 32 GB limits. Re-pickling is not guaranteed byte-reproducible; determinism is checked on the emitted CSV.