Remove hardcoded /scratch nuPlan paths from shipped drive.ini#518
Closed
eugenevinitsky wants to merge 3 commits into
Closed
Remove hardcoded /scratch nuPlan paths from shipped drive.ini#518eugenevinitsky wants to merge 3 commits into
eugenevinitsky wants to merge 3 commits into
Conversation
The default config enabled 13 evaluators pointing at a maintainer-local /scratch/ev2237 nuPlan tree, giving external users 13 FileNotFoundError tracebacks per eval pass. validation_replay and behaviors_full_dir now ship disabled with a placeholder map_dir; the 11 per-category behaviors_* sections (irreproducible categories_v021 split) are removed in favor of a documented pattern users instantiate against their own labelled bins. Cluster yaml configs drop the enabled=0 overrides whose flags would no longer be registered by the ini-driven parser. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
data/nuplan_mini_val is where data_utils/fetch_data.py lands the default eval set, so enabling the eval is just enabled = true after a fetch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
|
Folded into #525 — the drive.ini fix and the S3 fetch infrastructure land together so the placeholder paths and the default fetch location stay consistent. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
pufferlib/config/ocean/drive.ini:[eval.validation_replay]: nowenabled = falsewith a placeholderenv.map_dir = "path/to/nuplan_bins"and a comment pointing atdocs/nuplan_data.mdfor preparing local nuPlan bins.[eval.behaviors_full_dir]: dropped itsenabled = trueoverride (inheritsenabled = falsefrombehaviors_defaults) and got the same placeholdermap_dirtreatment.[eval.behaviors_<category>]sections (hard_stop…unprotected_right) that pointed at the undocumented, irreproduciblecategories_v021split. The behaviors block header now documents the pattern: prepare a folder of labelled nuPlan bins per category and add one[eval.behaviors_<category>]section per folder, followingbehaviors_full_dir.scripts/cluster_configs/nightly_best.yamlandscripts/cluster_configs/single_agent_speed_run.yaml: removed theeval.behaviors_<category>.enabled: 0lines for the deleted sections (their flags would no longer be registered by the ini-driven parser, aborting the launch with "unrecognized arguments") plus the now-redundantvalidation_replay/behaviors_full_direnabled: 0overrides.docs/evaluation.md: built-in evaluator table now listsbehaviors_full_dirinstead ofbehaviors_*; documents that nuPlan bins are external user-supplied data, thatvalidation_replay/behaviors_full_dirship disabled untilenv.map_dirpoints at a local bin directory, and that per-category behavior sections are user-defined.AGENTIC_PR: per-repo instruction for agent-created PRs.Why
The shipped default config enabled 13 evaluators whose
map_dirpointed at the maintainer's personal NYU cluster tree (/scratch/ev2237/data/nuplan/...). Every external user got 13FileNotFoundErrortracebacks per eval pass and no metrics from those evaluators. The 11 per-category sections additionally referenced acategories_v021split nobody else can reproduce, so disabling them in place had no value — the pattern is documented instead.Notes
Verification (venv sourced, run from the PR worktree):
load_config("puffer_drive")parses the modified ini;EvalManager.from_configyieldsvalidation_replay enabled=False,behaviors_full_dir enabled=False,validation_gigaflow enabled=True. Disabled evaluators are skipped by the manager before env construction, so placeholder paths are never resolved.submit_cluster.py's yaml→flag conversion fornightly_best.yaml(84 keys),single_agent_speed_run.yaml(23) andtrain_base.yaml(5); all emitted flags are registered and parse cleanly. Negative control: a deleted-section flag (--eval.behaviors-hard-stop.enabled 0) now aborts withunrecognized arguments, confirming the yaml cleanup was required.pytest tests/unit_tests/test_eval_manager.py: 31 passed (itsbehaviors_hard_stopfixtures are self-contained dicts, independent of drive.ini).Risks / intentionally untouched:
env.map_dirandenabled = truelocally (or re-add per-category sections). Ad-hocpuffer eval --eval_simulation replaystill works —run_one_by_nameignoresenabled.scripts/baseline_10G/config-*.yamlandweights/06_02_checkpoint/config.yamlstill contain/scratch/ev2237paths; they are nested full-config/checkpoint snapshots that never pass through the ini-driven flag parser, so they were left as historical artifacts.Merge-order dependency: the ini and docs comments reference
docs/nuplan_data.md, added by a sibling PR — merge that PR first (or accept a briefly dangling doc link).🤖 Generated with Claude Code
🤖 Generated with Claude Code