language2drive 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- l2d_benchmark/__init__.py +4 -0
- l2d_benchmark/adapter.py +90 -0
- l2d_benchmark/bridges/__init__.py +1 -0
- l2d_benchmark/bridges/carla.py +72 -0
- l2d_benchmark/bridges/realsim.py +64 -0
- l2d_benchmark/cli.py +121 -0
- l2d_benchmark/configure.py +33 -0
- l2d_benchmark/installed_wheel.py +46 -0
- l2d_benchmark/live.py +136 -0
- l2d_benchmark/pipeline.py +120 -0
- l2d_benchmark/processes.py +59 -0
- l2d_benchmark/realsim_campaign.py +88 -0
- l2d_benchmark/realsim_runtime.py +112 -0
- l2d_benchmark/resources/backends/LICENSE +21 -0
- l2d_benchmark/resources/backends/README.md +420 -0
- l2d_benchmark/resources/backends/docs/ADAPTER.md +49 -0
- l2d_benchmark/resources/backends/docs/GPU_EVALUATION.md +144 -0
- l2d_benchmark/resources/backends/docs/INSTALLATION.md +73 -0
- l2d_benchmark/resources/backends/docs/LEADERBOARD.md +15 -0
- l2d_benchmark/resources/backends/docs/PROTOCOL.md +35 -0
- l2d_benchmark/resources/backends/docs/RELEASE.md +58 -0
- l2d_benchmark/resources/backends/docs/SHOWCASE.md +193 -0
- l2d_benchmark/resources/backends/docs/releases/v0.1.0.md +27 -0
- l2d_benchmark/resources/backends/examples/constant_velocity.py +15 -0
- l2d_benchmark/resources/backends/examples/evaluation.json +12 -0
- l2d_benchmark/resources/backends/examples/my_model.py +25 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/NOTICE.md +7 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/README.md +43 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/SHA256SUMS.txt +46 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/THIRD_PARTY_NOTICES.md +26 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/config/paper_source_shards.json +165 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/BUILD.md +49 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/FORMATS.md +64 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/MODELS.md +115 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/PAPER_ALIGNMENT.md +22 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/REVIEW.md +48 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/docs/SCORING.md +107 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/environment.yml +12 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/requirements-download.txt +1 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/requirements.txt +1 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/audit_local_data.py +214 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/build_full_prerelease.py +176 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/build_model_review_priority.py +146 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/build_prerelease.py +351 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/build_review_model_predictions.py +131 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/download_assets.py +133 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/download_checkpoint.py +21 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/draft_semantic_tasks.py +115 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/evaluate_paper.py +166 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/freeze_paper_contracts.py +114 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/make_review_materials.py +71 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/audit_drivema_fast_inputs.py +169 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/drivema.py +367 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/fast_ddrive.py +220 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/merge_qwen_drive_protocols.py +106 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/qwen_drive.py +345 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/qwen_drive_dedup.py +146 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/qwen_drive_postprocess.py +145 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/request_dedup.py +73 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/run_qwen_drive_current_only.sh +68 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/run_qwen_drive_full.sh +51 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/run_qwen_drive_pilot.sh +65 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/model_adapters/trajectory_xy_to_submission.py +71 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/review_template.html +99 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/run_public_cv_baseline.py +41 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/score_full_prerelease.py +137 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/score_p0_kinematic_proxy.py +222 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/score_prerelease.py +158 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/serve_review.py +251 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/setup.sh +17 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/summarize_candidates.py +73 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.WOD-E2E/scripts/verify_assets.py +87 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/NOTICE.md +7 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/README.md +102 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/audit_footprint.py +73 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/audit_footprint_swept.py +86 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/audit_lidar.py +75 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/build_candidates.py +27 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/build_catalog.py +157 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/build_lane_pcus.py +317 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/build_speed_pcus.py +141 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/combine_review_queues.py +34 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/config/assets.json +75 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/config/paper_profile.json +28 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/config/paper_table9.json +14 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/constant_velocity_adapter.py +18 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/CONSTRUCTION.md +33 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/INPUT_OUTPUT.md +13 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/METRICS.md +47 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/PAPER_ALIGNMENT.md +26 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/USAGE_ZH.md +31 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/VALIDATION.md +12 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/dataset_statistics.json +156 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/docs/evaluation_parameters.json +350 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/environment.yml +10 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/evaluate_predictions.py +112 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/export_review_queue.py +90 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/filter_candidates.py +42 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/freeze_approved.py +134 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/make_manifest.py +93 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/make_review_sheet.py +70 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/model_eval/paper_metrics.py +149 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/model_eval/run_resumable.py +82 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/model_eval/score_completed.py +8 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/model_eval/semantic_metrics.py +112 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/model_eval/unified_semantic_metrics.py +125 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/paths.py +8 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/release_io.py +68 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/releases/nuscenes-test-v1.0.0/public_inputs.jsonl +75 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/releases/nuscenes-test-v1.0.0/release_manifest.json +105 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/render_review.py +61 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/requirements.txt +3 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/results/README.md +9 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/results/table9.csv +5 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/results/table9.md +6 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/review.css +16 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/review.js +120 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/run_model.py +113 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/score_lane_pcus.py +250 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/scripts/download_assets.py +156 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/scripts/reproduce.sh +8 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/scripts/reproduce_paper.py +45 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/scripts/setup.sh +28 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/serve_review.py +284 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_asset_install.py +71 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_binary_scoring.py +43 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_paper_profile.py +111 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_public_release.py +34 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_review_server.py +100 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_semantic_metrics.py +61 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/tests/test_unified_semantic_metrics.py +70 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.nScenes/validate_artifacts.py +92 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/README.md +143 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/RELEASE_CHECKSUMS.json +51 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/BENCHMARK_CARD.md +60 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/RELEASE_NOTES.md +33 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/SUBMISSION_FORMAT.md +49 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/manifest.json +1 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/junction_560d4e533d4da43b.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_46739ed669bf26dd.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_4b9d7b4a05ce32c5.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_4c0406d430f9d8b4.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_522cb8c12a1aee77.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_5a4111a4c68dc904.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_7f4c2906758ea5a2.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_8c15a07fdd221b3f.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_a498fbeacb606a7b.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_c9023f008f5d7fdc.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/landmark_stop_d938ce51d376d45f.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_0ccb91c3d09d14a4.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_105b57abaf2d526d.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_199c7bc8c8ef012a.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_2bda8fb8654fab5f.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_628596b9a16f10c6.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_c2e92aa83a599e79.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_c4c6295690cd2ee4.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_left_fa964dec31f095c6.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_right_24d1257284bf6590.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_right_254fdb610bdbe238.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_right_7597cc12184d660c.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/lane_right_914bade083bd1cfd.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/local_goal_acd57bf648e288da.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/object_speed_978a075464b39b49.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/object_speed_f75a0625e7239d36.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/order_2e3fb1ac196bb505.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/order_c9756a12b7f61725.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/order_e77bb22f7129feeb.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/order_ee33463b87d6201d.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/pass_follow_f1cab3c097abecf5.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_high_0669271e9f277444.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_high_4a9e8cecf22081ac.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_high_8d769d4a582260b0.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_high_d8040e7cc97fcd54.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_high_e6d2d1353eae4fe4.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_urban_1e51020feeabc04f.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/public_inputs/speed_urban_b8be4ce05e7a8888.json +117 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/data/public/submission_schema.json +38 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/docs/ASSETS.md +26 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/docs/EXPERIMENT_PROTOCOL.md +69 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/docs/METRIC_SPEC.md +49 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/examples/toy_predictions.json +120 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/examples/toy_rewrites.json +482 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/examples/toy_sidecars/toy_speed.json +23 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/build_onevl_dataset.py +47 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/collect_onevl.py +46 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/common.py +228 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/consolidate.py +19 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/download_weight.py +72 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/prepare_onevl_chunks.py +22 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/run_autovla.py +102 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/run_drivema.py +136 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/run_onevl_chunks.sh +33 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/run_qwen_drive.py +93 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/model_eval/run_recogdrive.py +189 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/navsim_offline/requirements-scorer.txt +1 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/navsim_offline/score.py +192 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/navsim_offline/score_corrected.py +17 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/navsim_offline/submission_schema.json +38 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/navsim_offline/verify.py +528 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/check_public_data.py +56 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/download_assets.py +146 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/download_assets.sh +15 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/download_test_modelscope.py +190 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/run_baselines.sh +43 -0
- l2d_benchmark/resources/backends/language2drive.OpenloopTrack.navsim/scripts/run_paper_legacy_scoring.sh +13 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/MANIFEST.json +767 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/NOTICE.md +16 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/README.md +112 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/config/alpasim-runtime.uv.lock +5352 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/config/alpasim_realsim.json +28 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/config/runtime-compatibility.txt +4 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/config/threshold_profile.json +9 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/ASSETS_AND_PRIVATE_UPLOAD_ZH.md +83 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/DATA_FORMAT.md +72 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/DEPLOYMENT.md +78 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/ENVIRONMENT_SETUP_ZH.md +188 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/METRICS.md +141 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/PAPER_ALIGNMENT.md +39 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/REVIEW_GUIDE_ZH.md +63 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/RUNTIME_SETUP.md +79 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/docs/VERIFICATION.md +56 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/pyproject.toml +41 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/check_anonymity.py +66 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/deploy.py +69 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/doctor.py +40 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/doctor_runtime.py +59 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/hub_assets.py +154 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/package_benchmark.py +136 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/prepare_runtime_mirror.py +39 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/score.sh +10 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/setup.sh +5 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/setup_runtime.py +223 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/scripts/setup_runtime.sh +5 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/__init__.py +3 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/__main__.py +5 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/acquisition.py +244 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/agent_curation.py +46 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/agent_drafts.py +354 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/alpasim_bridge.py +523 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/alpasim_driver_service.py +130 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/alpasim_model.py +127 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/alpasim_oracle_driver_service.py +99 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/asl.py +25 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/asl_diagnostics.py +95 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/audit.py +386 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/bilateral_lane.py +173 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/bilateral_lane_use.py +56 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/bilateral_pair_smoke.py +175 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/bilateral_protocol.py +76 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_authoring.py +222 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_diagnostics.py +119 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_gate_prefilter.py +65 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_pair_smoke.py +251 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_path_search.py +82 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/branch_shared_surface.py +114 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/camera_timing.py +59 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/cli.py +685 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/cohort_integrity.py +367 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/compat.py +19 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/compiler.py +130 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/component_scoring.py +180 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/__init__.py +1 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_alpamayo1_5.yaml +47 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_alpamayo2_super.yaml +50 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_lmdrive_null_lidar.yaml +140 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_privileged_oracle.yaml +38 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_simlingo.yaml +54 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/configs/driver/l2d_unified.yaml +50 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/constants.py +55 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/corridor_sections.py +87 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/crosswalk_authoring.py +79 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/crosswalk_speed_scope.py +128 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/curation_review.py +861 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/curation_review_server.py +586 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/curvature_path.py +206 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/diagnostic_prompt_variants.py +31 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/discovery.py +261 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/draft_coverage.py +179 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/eval_polygon_cache.py +50 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/evaluation.py +100 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/events.py +295 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/family_allocation.py +67 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/feasibility.py +200 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/feasibility_review.py +170 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/feasibility_review_ui.py +74 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/feasibility_summary.py +209 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/finalize.py +223 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/forward_choices.py +23 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/handoff_observed_velocity.py +233 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/host_runtime.py +22 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/host_runtime_handoff.py +17 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/io.py +96 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/keep_change_pair_smoke.py +234 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/keep_change_planning.py +44 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/keep_change_regions.py +38 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/lane_path_search.py +392 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/language.py +63 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/lmdrive_null_lidar_diagnostic.py +316 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/local_runtime.py +159 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/metrics.py +49 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/model_evaluation.py +180 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/model_identity.py +502 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/novel_rear_diagnostic.py +125 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/observed_motion_diagnostic.py +51 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/oracle_model.py +128 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/pair_review_labels.py +125 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/paired_semantic_metrics.py +356 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/paired_semantic_metrics_all30.py +544 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/pairing.py +93 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/paper_metrics.py +182 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/path_turning.py +38 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/pcu_authoring.py +190 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/physical_only_metrics.py +231 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/planned_approach.py +65 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/planned_lane_contract.py +123 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/planned_lane_motion.py +77 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/planned_road_prefilter.py +78 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/planned_speed_scope.py +48 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/preview_mining.py +139 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/prospective_authority.py +246 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/provenance.py +153 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/qualification.py +271 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/raw_lane_metadata.py +278 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/raw_static_topology.py +393 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/raw_xodr_speed.py +170 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/recogdrive_navigation_diagnostic.py +143 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/recorded_path_proximity.py +40 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/release_evidence.py +359 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/release_profile.py +56 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/render_neighborhood.py +16 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/render_validity.py +31 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/review_cli.py +118 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/review_video.py +28 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/route_topology_mining.py +330 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/runtime_client.py +303 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/runtime_map_evidence.py +145 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/schema.py +802 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/scoped_lane_authoring.py +229 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/scoped_lane_marker.py +120 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/scoped_lane_planning.py +106 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/scoped_lane_scope.py +161 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/scoped_lane_use.py +52 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/search_input.py +30 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/semantic_runtime_capture.py +628 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/sign_authoring.py +43 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/sign_speed_scope.py +110 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/simlingo_model.py +490 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/simlingo_posttrained_identity.py +35 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/simlingo_worker.py +321 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/single_seed_execution.py +407 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/single_seed_metrics.py +181 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/single_seed_reuse.py +208 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/single_seed_runtime.py +217 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/source_review.py +494 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/source_review_server.py +115 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/source_review_ui.py +49 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/sparse_branch_render.py +204 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/spatial_draft.py +62 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_authoring.py +473 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_diagnostics.py +62 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_pair_smoke.py +157 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_path_search.py +115 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_preview_binding.py +46 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_scope_binding.py +88 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_spatial_draft.py +138 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/speed_timing.py +74 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/supplemental_diagnostics.py +151 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/topology_mining.py +189 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/traffic_planning.py +155 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/trajectory.py +14 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/verifier.py +478 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/src/language2drive_realsim/verifier_selftest.py +419 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/__init__.py +1 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/factories.py +266 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_alpasim_bridge.py +262 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_camera_timing.py +84 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_compat.py +24 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_component_scoring.py +218 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_deployment.py +33 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_hub_assets.py +77 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_io.py +15 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_io_exclusive_json.py +44 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_language_verifier.py +149 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_multipart_geometry.py +117 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_native_render_validity.py +81 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_package_benchmark.py +30 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_paired_semantic_metrics_all30_20260923.py +124 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_paper_metrics.py +158 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_polygon_exact_ring_topology.py +35 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_render_neighborhood.py +47 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_review_entrypoint.py +132 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_runtime_setup.py +75 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_schema_compiler.py +138 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_scoped_lane_verifier.py +88 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_single_seed_metrics.py +294 -0
- l2d_benchmark/resources/backends/language2drive.RealSim/tests/test_speed_scope_verifier.py +148 -0
- l2d_benchmark/resources/backends/language2drive.carla/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/README.md +65 -0
- l2d_benchmark/resources/backends/language2drive.carla/THIRD_PARTY_NOTICES +35 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/baselines/always_left.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/baselines/always_right.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/baselines/fixed_branch.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/benchmark_map_policy.json +18 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/defaults.json +19 -0
- l2d_benchmark/resources/backends/language2drive.carla/config/maps.json +75 -0
- l2d_benchmark/resources/backends/language2drive.carla/docs/BENCHMARK.md +306 -0
- l2d_benchmark/resources/backends/language2drive.carla/environment.lock.yml +57 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/LICENSE +402 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive220.xml +12403 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_00.xml +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_01.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_02.xml +79 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_03.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_04.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_05.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_06.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_07.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_08.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_09.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_10.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_100.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_101.xml +33 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_102.xml +33 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_103.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_104.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_105.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_106.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_107.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_108.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_109.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_11.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_110.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_111.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_112.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_113.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_114.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_115.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_116.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_117.xml +38 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_118.xml +38 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_119.xml +39 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_12.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_120.xml +38 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_121.xml +39 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_122.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_123.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_124.xml +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_125.xml +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_126.xml +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_127.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_128.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_129.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_13.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_130.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_131.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_132.xml +48 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_133.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_134.xml +47 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_135.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_136.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_137.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_138.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_139.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_14.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_140.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_141.xml +48 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_142.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_143.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_144.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_145.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_146.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_147.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_148.xml +65 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_149.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_15.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_150.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_151.xml +70 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_152.xml +62 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_153.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_154.xml +62 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_155.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_156.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_157.xml +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_158.xml +80 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_159.xml +67 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_16.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_160.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_161.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_162.xml +81 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_163.xml +81 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_164.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_165.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_166.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_167.xml +64 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_168.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_169.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_17.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_170.xml +71 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_171.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_172.xml +70 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_173.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_174.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_175.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_176.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_177.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_178.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_179.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_18.xml +40 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_180.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_181.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_182.xml +31 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_183.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_184.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_185.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_186.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_187.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_188.xml +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_189.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_19.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_190.xml +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_191.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_192.xml +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_193.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_194.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_195.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_196.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_197.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_198.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_199.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_20.xml +40 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_200.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_201.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_202.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_203.xml +40 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_204.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_205.xml +40 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_206.xml +39 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_207.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_208.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_209.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_21.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_210.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_211.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_212.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_213.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_214.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_215.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_216.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_217.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_218.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_219.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_22.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_23.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_24.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_25.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_26.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_27.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_28.xml +33 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_29.xml +31 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_30.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_31.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_32.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_33.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_34.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_35.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_36.xml +69 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_37.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_38.xml +74 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_39.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_40.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_41.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_42.xml +74 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_43.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_44.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_45.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_46.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_47.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_48.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_49.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_50.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_51.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_52.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_53.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_54.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_55.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_56.xml +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_57.xml +47 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_58.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_59.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_60.xml +31 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_61.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_62.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_63.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_64.xml +77 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_65.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_66.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_67.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_68.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_69.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_70.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_71.xml +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_72.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_73.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_74.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_75.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_76.xml +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_77.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_78.xml +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_79.xml +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_80.xml +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_81.xml +69 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_82.xml +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_83.xml +69 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_84.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_85.xml +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_86.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_87.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_88.xml +39 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_89.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_90.xml +40 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_91.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_92.xml +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_93.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_94.xml +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_95.xml +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_96.xml +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_97.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_98.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/bench2drive_split/bench2drive_99.xml +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/language2drive/parking_bench_0001_END_2_D506_A807_sunny_slotD506.xml +20 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/routes_devtest.xml +588 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/routes_training.xml +23903 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/routes_validation.xml +8398 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/data/weather.xml +187 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/agent_wrapper.py +320 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/autonomous_agent.py +162 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/dummy_agent.py +90 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/human_agent.py +313 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/human_agent_config.txt +9 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/npc_agent.py +95 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/ros1_agent.py +178 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/ros2_agent.py +148 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/autoagents/ros_base_agent.py +250 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/envs/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/envs/sensor_interface.py +240 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/leaderboard_evaluator.py +1249 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/scenarios/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/scenarios/route_scenario.py +568 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/scenarios/scenario_manager.py +428 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/checkpoint_tools.py +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/closed_loop_logger.py +1388 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/parked_vehicles.py +13643 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/result_writer.py +134 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/route_indexer.py +97 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/route_manipulation.py +257 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/route_parser.py +248 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/leaderboard/utils/statistics_manager.py +602 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/requirements.txt +7 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/run_leaderboard.sh +28 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/agent_entrypoint.sh +6 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/code_check_and_formatting.sh +11 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/make_docker.sh +101 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/manage_scenarios.py +280 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/merge_statistics.py +100 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/pretty_print_json.py +111 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/route_creator.py +209 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/route_displayer.py +203 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/route_summarizer.py +161 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation.sh +32 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_debug.sh +19 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_admlp.sh +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_pdm_lite.sh +71 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_tcp.sh +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_uniad.sh +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_uniad_tiny.sh +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_multi_vad.sh +60 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_tf++.sh +79 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/run_evaluation_tf++_local.sh +70 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/scenario_creator.py +477 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/scenario_orderer.py +352 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/scripts/weather_creator.py +50 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/autopilot.py +2135 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/birdview_map.py +383 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/chauffeurnet.py +377 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/endless_all.yaml +57 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/obs_manager.py +25 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/run_stop_sign.py +153 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/server_utils.py +64 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/traffic_light.py +213 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/birds_eye_view/transforms.py +98 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/config.py +552 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/config_report.py +558 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/data_agent.py +1448 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/kinematic_bicycle_model.py +116 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/lateral_controller.py +135 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/longitudinal_controller.py +253 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/nav_planner.py +250 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/privileged_route_planner.py +876 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/requirements.txt +192 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/scenario_logger.py +518 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town01_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town02_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town03_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town04_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town05_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town06_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town07_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town10HD_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/Town15_speed_limits.npy +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/speed_limits/compute_speed_limits.py +157 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/leaderboard/team_code/transfuser_utils.py +823 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/manual_control.py +999 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/metrics_manager.py +154 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/mkdocs.yml +29 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/no_rendering_mode.py +1494 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/requirements.txt +12 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/scenario_runner.py +629 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/agent_wrapper.py +96 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/autonomous_agent.py +108 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/dummy_agent.py +83 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/human_agent.py +279 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/human_agent_config.txt +9 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/npc_agent.py +91 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/ros_agent.py +450 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/autoagents/sensor_interface.py +165 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/metrics/tools/metrics_log.py +428 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/metrics/tools/metrics_parser.py +540 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarioconfigs/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarioconfigs/openscenario_configuration.py +416 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarioconfigs/route_scenario_configuration.py +52 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarioconfigs/scenario_configuration.py +110 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/actor_control.py +180 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/basic_control.py +118 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/carla_autopilot.py +50 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/external_control.py +43 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/npc_vehicle_control.py +139 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/pedestrian_control.py +77 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/simple_vehicle_control.py +345 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/vehicle_longitudinal_control.py +73 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/actorcontrols/visualizer.py +130 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/carla_data_provider.py +884 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/lights_sim.py +156 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/result_writer.py +287 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/scenario_manager.py +233 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/scenarioatomics/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/scenarioatomics/atomic_behaviors.py +4366 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/scenarioatomics/atomic_criteria.py +2403 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/scenarioatomics/atomic_trigger_conditions.py +1337 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/timer.py +243 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/traffic_events.py +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/watchdog.py +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenariomanager/weather_sim.py +297 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/actor_flow.py +778 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/background_activity.py +2598 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/background_activity_parametrizer.py +89 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/basic_scenario.py +336 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/blocked_intersection.py +150 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/change_lane.py +181 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/construction_crash_vehicle.py +328 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/control_loss.py +175 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/cross_bicycle_flow.py +206 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/cut_in.py +158 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/cut_in_with_static_vehicle.py +271 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/follow_leading_vehicle.py +309 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/freeride.py +68 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/green_traffic_light.py +98 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/hard_break.py +80 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/highway_cut_in.py +143 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/invading_turn.py +187 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/left_turn_enter_flow.py +277 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/maneuver_opposite_direction.py +172 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/no_signal_junction_crossing.py +212 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/object_crash_intersection.py +443 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/object_crash_vehicle.py +583 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/open_scenario.py +507 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/opposite_vehicle_taking_priority.py +317 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/other_leading_vehicle.py +151 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/parking_cut_in.py +183 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/parking_exit.py +229 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/pedestrian_crossing.py +247 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/route_obstacles.py +730 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/route_scenario.py +384 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/sequentially_lane_change.py +62 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/signalized_junction_left_turn.py +271 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/signalized_junction_right_turn.py +260 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/t_junction.py +67 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/vanilla_turn.py +396 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/vehicle_opens_door.py +217 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/scenarios/yield_to_emergency_vehicle.py +180 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/basic_agent.py +301 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/behavior_agent.py +375 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/behavior_types.py +37 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/controller.py +258 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/global_route_planner.py +392 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/navigation/local_planner.py +333 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/tools/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/agents/tools/misc.py +171 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/carla_mocks/carla.py +308 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tests/test_xosc_load.py +51 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/background_manager.py +286 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/openscenario_parser.py +1375 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/py_trees_port.py +137 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/route_manipulation.py +160 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/route_parser.py +143 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/scenario_helper.py +832 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/tools/scenario_parser.py +118 -0
- l2d_benchmark/resources/backends/language2drive.carla/language2drive/scenario_runner/srunner/utilities/code_check_and_formatting.sh +18 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/README.md +85 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/SOURCES.json +2705 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/WEIGHTS.json +167 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/_download_guard.sh +16 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/adapter_config.json +45 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/adapter_config_cfg.json +50 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/adapter_config_cfg_w3.json +56 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/adapter_config_no_cfg.json +50 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/agent.py +807 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/code/LICENSE +202 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/alpamayo1.5/install_vendor.sh +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/download_all.sh +6 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/fetch_sources.sh +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/impromptu-vla/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/impromptu-vla/adapter_config.json +11 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/impromptu-vla/agent.py +15 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/impromptu-vla/code/LICENSE +427 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/impromptu-vla/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/install_shared_vendor.sh +16 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/__init__.py +11 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/download_aria2_verified.sh +211 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/download_bert_base.sh +38 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/download_verified_file.py +259 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/hf_download.py +365 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/native_delegate.py +336 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/trajectory_agent.py +337 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/language2drive_adapters/vlm_backends.py +488 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/adapter_config.py +23 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/agent.py +16 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/LAVIS/LICENSE.txt +14 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/LAVIS/lavis/datasets/download_scripts/DownloadConceptualCaptions/LICENSE +25 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/LICENSE +201 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/leaderboard/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/leaderboard/docs/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/scenario_runner/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/code/vision_encoder/LICENSE +201 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/lmdrive/install_vendor.sh +12 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/adapter_config.json +11 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/agent.py +15 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/code/LICENSE +202 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/code/NOTICE +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/install_vendor.sh +13 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/onevl/prune_inference_index.py +84 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/preflight.py +81 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/adapter_config.json +53 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/agent.py +132 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/code/LICENSE +202 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/fetch_code.sh +6 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/fetch_core_code.py +81 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/qwen-drive-1.0-4b/install_vendor.sh +58 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/run_base.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/run_benchmark.sh +24 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/run_small.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/adapter_config.json +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/agent.py +15 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/code/LICENSE +201 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/senna/install_vendor.sh +13 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/SOURCE.json +5 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/adapter_config.json +14 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/adapter_config_parallel14.json +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/agent.py +225 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/Bench2Drive/LICENSE +402 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/Bench2Drive/leaderboard/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/Bench2Drive/leaderboard/docs/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/Bench2Drive/scenario_runner/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/LICENSE +201 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/leaderboard/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/leaderboard/docs/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/leaderboard_autopilot/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/leaderboard_autopilot/docs/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/scenario_runner/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/code/scenario_runner_autopilot/LICENSE +21 -0
- l2d_benchmark/resources/backends/language2drive.carla/model_zoo/simlingo/download.sh +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/pyproject.toml +19 -0
- l2d_benchmark/resources/backends/language2drive.carla/requirements.txt +44 -0
- l2d_benchmark/resources/backends/language2drive.carla/resources/manifest.json +82 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/__init__.py +4 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/carla_runtime_assets.py +811 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/cli.py +609 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/contracts.py +1141 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/core_driving_score.py +33 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/fdq.py +46 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/fdq_metrics.py +627 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/frozen_paths.py +47 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/generator.py +4093 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/io.py +139 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/maps.py +438 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/metrics.py +564 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/parking.py +1625 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/release_report.py +29 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/release_scoring.py +91 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/report.py +782 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/runner.py +6342 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/schema.py +2162 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/scoring.py +1910 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/suite.py +504 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/supplementary.py +846 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/tiers.py +66 -0
- l2d_benchmark/resources/backends/language2drive.carla/src/language2drive/visualize.py +221 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/LICENSE +201 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/autopilot.py +2038 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/__init__.py +0 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/birdview_map_opencv.py +403 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/chauffeurnet.py +378 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/endless_all.yaml +57 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/obs_manager.py +25 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/run_stop_sign.py +140 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/server_utils.py +64 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/traffic_light.py +213 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/birds_eye_view/transforms.py +98 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/config.py +858 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/data_agent.py +1537 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/kinematic_bicycle_model.py +111 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/l2d_oracle_agent.py +2300 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_context.py +362 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_external_carla.py +116 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_oracle_audit.py +866 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_parking_manoeuvre.py +3227 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_runtime.py +764 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_signal_free_proof.py +329 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/language2drive_trace.py +1225 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/lateral_controller.py +136 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/longitudinal_controller.py +253 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/nav_planner.py +409 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/privileged_route_planner.py +862 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/requirements.txt +49 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/scenario_logger.py +518 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/speed_limits/compute_speed_limits.py +161 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/transfuser_utils.py +823 -0
- l2d_benchmark/resources/backends/language2drive.carla/team_code/visualize_dataset.py +212 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_carla_runtime_assets.py +1358 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_contracts_metrics.py +917 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_core.py +134 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_core_driving_score.py +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_fdq_metrics.py +161 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_maps_pipeline.py +126 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_release_data_contract.py +374 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_release_portability.py +88 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_result_authority_strict.py +595 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_runner_scoring_report.py +2490 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_visualize_release.py +63 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests/test_vlm_waypoint_parser.py +41 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests_evaluator/test_fdq_logger_observation.py +86 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests_evaluator/test_language2drive_agent_adapter.py +1327 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests_evaluator/test_language2drive_oracle_agent.py +2289 -0
- l2d_benchmark/resources/backends/language2drive.carla/tests_evaluator/test_language2drive_trace_adapter.py +1825 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/audit_pcu_maps.py +89 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/capture_c_rd_review.py +340 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/capture_parking_slot_occupancy.py +284 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/download_models.py +42 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/download_resources.py +79 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/eval_single_ability.py +409 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/eval_single_route.py +261 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/filter_broken_files.py +36 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/infraction_gifs.py +33 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/language2drive_metrics.py +1320 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/merge_l2d_layer_routes.py +150 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/result_parser.py +413 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/result_parser_new.py +451 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/evaluator/visualize_layer_c_decision_xml.py +195 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/extract_existing_labels.py +1939 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/extract_vehicle_bbox_evidence.py +95 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/extract_vehicle_dynamics_evidence.py +391 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/l2d_fixed_policy_agent.py +56 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/setup_environment.sh +12 -0
- l2d_benchmark/resources/backends/language2drive.carla/tools/start_external_carla.sh +158 -0
- l2d_benchmark/resources/backends/manifest.json +992 -0
- l2d_benchmark/resources/backends/scripts/validate_gpu_campaign.py +72 -0
- l2d_benchmark/runners.py +157 -0
- l2d_benchmark/service.py +113 -0
- l2d_benchmark/setup.py +144 -0
- l2d_benchmark/workspace.py +49 -0
- language2drive-0.1.0.dist-info/METADATA +455 -0
- language2drive-0.1.0.dist-info/RECORD +1014 -0
- language2drive-0.1.0.dist-info/WHEEL +5 -0
- language2drive-0.1.0.dist-info/entry_points.txt +5 -0
- language2drive-0.1.0.dist-info/licenses/LICENSE +21 -0
- language2drive-0.1.0.dist-info/top_level.txt +1 -0
l2d_benchmark/adapter.py
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"""One model contract across all five backends; no evaluator labels cross it."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
from dataclasses import asdict, dataclass
|
|
4
|
+
import importlib.util
|
|
5
|
+
import math
|
|
6
|
+
import hashlib
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
import sys
|
|
9
|
+
from typing import Any
|
|
10
|
+
|
|
11
|
+
@dataclass(frozen=True)
|
|
12
|
+
class OutputSpec:
|
|
13
|
+
timestamps_s: tuple[float, ...]
|
|
14
|
+
reference_point: str
|
|
15
|
+
coordinate_frame: str = "ego_at_anchor"
|
|
16
|
+
axes: str = "+x forward, +y left; metres"
|
|
17
|
+
|
|
18
|
+
@dataclass(frozen=True)
|
|
19
|
+
class Request:
|
|
20
|
+
track: str
|
|
21
|
+
instruction: str
|
|
22
|
+
observation: dict[str, Any]
|
|
23
|
+
output_spec: OutputSpec
|
|
24
|
+
seed: int = 0
|
|
25
|
+
|
|
26
|
+
def to_dict(self):
|
|
27
|
+
return asdict(self)
|
|
28
|
+
|
|
29
|
+
@classmethod
|
|
30
|
+
def from_dict(cls, value):
|
|
31
|
+
value = dict(value)
|
|
32
|
+
spec = dict(value.pop("output_spec"))
|
|
33
|
+
spec["timestamps_s"] = tuple(spec["timestamps_s"])
|
|
34
|
+
return cls(output_spec=OutputSpec(**spec), **value)
|
|
35
|
+
|
|
36
|
+
SPECS = {
|
|
37
|
+
"nuscenes": OutputSpec(tuple(i * .25 for i in range(1, 13)), "ego_pose_origin"),
|
|
38
|
+
"navsim": OutputSpec(tuple(i * .5 for i in range(1, 9)), "rear_axle"),
|
|
39
|
+
"wod": OutputSpec(tuple(i * .25 for i in range(1, 21)), "rear_axle"),
|
|
40
|
+
"carla": OutputSpec(tuple(i * .25 for i in range(1, 21)), "rear_axle"),
|
|
41
|
+
"realsim": OutputSpec(tuple(i * .1 for i in range(1, 61)), "rig_origin"),
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
def load_adapter(path, config=None):
|
|
45
|
+
path = Path(path).resolve()
|
|
46
|
+
if not path.is_file():
|
|
47
|
+
raise FileNotFoundError(f"Model adapter missing: {path}")
|
|
48
|
+
name = "l2d_adapter_" + hashlib.sha256(str(path).encode()).hexdigest()[:16]
|
|
49
|
+
cached = sys.modules.get(name)
|
|
50
|
+
if cached is not None:
|
|
51
|
+
factory = getattr(cached, "create_adapter", None)
|
|
52
|
+
return factory(config or {}) if callable(factory) else cached
|
|
53
|
+
spec = importlib.util.spec_from_file_location(name, path)
|
|
54
|
+
module = importlib.util.module_from_spec(spec)
|
|
55
|
+
sys.modules[spec.name] = module
|
|
56
|
+
sys.path.insert(0, str(path.parent))
|
|
57
|
+
try:
|
|
58
|
+
spec.loader.exec_module(module)
|
|
59
|
+
finally:
|
|
60
|
+
sys.path.pop(0)
|
|
61
|
+
factory = getattr(module, "create_adapter", None)
|
|
62
|
+
adapter = factory(config or {}) if callable(factory) else module
|
|
63
|
+
if not callable(getattr(adapter, "predict", None)):
|
|
64
|
+
raise ValueError("Define create_adapter(config) returning an object with predict(request), or a module-level predict(request)")
|
|
65
|
+
return adapter
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def validate_trajectory(result, spec):
|
|
69
|
+
if not isinstance(result, dict):
|
|
70
|
+
raise ValueError("predict must return a dictionary")
|
|
71
|
+
for key, expected in (("coordinate_frame", spec.coordinate_frame), ("reference_point", spec.reference_point)):
|
|
72
|
+
if result.get(key) != expected:
|
|
73
|
+
raise ValueError(f"{key} must be {expected}; convert the model frame explicitly")
|
|
74
|
+
times, xy = result.get("timestamps_s"), result.get("xy_m")
|
|
75
|
+
if not isinstance(times, (list, tuple)) or len(times) != len(spec.timestamps_s):
|
|
76
|
+
raise ValueError("timestamps_s must match requested grid")
|
|
77
|
+
if any(type(t) not in (int, float) or not math.isfinite(t) or abs(t - target) > 1e-7
|
|
78
|
+
for t, target in zip(times, spec.timestamps_s)):
|
|
79
|
+
raise ValueError("timestamps_s must match requested grid")
|
|
80
|
+
if not isinstance(xy, (list, tuple)) or len(xy) != len(times):
|
|
81
|
+
raise ValueError("xy_m must have one XY point per requested timestamp")
|
|
82
|
+
if any(not isinstance(p, (list, tuple)) or len(p) != 2 or
|
|
83
|
+
any(type(v) not in (int, float) or not math.isfinite(v) for v in p) for p in xy):
|
|
84
|
+
raise ValueError("xy_m must contain finite XY pairs")
|
|
85
|
+
return {"coordinate_frame": spec.coordinate_frame, "reference_point": spec.reference_point,
|
|
86
|
+
"timestamps_s": list(spec.timestamps_s), "xy_m": [[float(v) for v in p] for p in xy]}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def predict(adapter, request):
|
|
90
|
+
return validate_trajectory(adapter.predict(request), request.output_spec)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Simulator bridges, imported only in their dedicated runtime environments."""
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""Bench2Drive autonomous agent using the common trajectory service.
|
|
2
|
+
|
|
3
|
+
Controller: pure pursuit, wheelbase 2.8m; no route/target-point input.
|
|
4
|
+
"""
|
|
5
|
+
import json
|
|
6
|
+
import math
|
|
7
|
+
import uuid
|
|
8
|
+
import carla
|
|
9
|
+
from leaderboard.autoagents.autonomous_agent import AutonomousAgent, Track
|
|
10
|
+
from team_code.language2drive_context import PublicContextState
|
|
11
|
+
from l2d_benchmark.adapter import Request, SPECS
|
|
12
|
+
from l2d_benchmark.service import Client, image_payload
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_entry_point():
|
|
16
|
+
return 'UnifiedAgent'
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class UnifiedAgent(AutonomousAgent):
|
|
20
|
+
def set_language2drive_context(self, context):
|
|
21
|
+
state = getattr(self, '_context_state', None) or PublicContextState()
|
|
22
|
+
self._context_state = state
|
|
23
|
+
parsed = state.bind(context)
|
|
24
|
+
if parsed.track != 'standardized':
|
|
25
|
+
raise ValueError('Unified bridge requires standardized, language-only evaluation')
|
|
26
|
+
self._global_plan = self._global_plan_world_coord = None
|
|
27
|
+
return parsed.to_dict()
|
|
28
|
+
|
|
29
|
+
def set_global_plan(self, *args):
|
|
30
|
+
raise ValueError('Unified bridge never consumes global routes')
|
|
31
|
+
|
|
32
|
+
def setup(self, path_to_conf_file, route_index=None):
|
|
33
|
+
self.track = Track.SENSORS
|
|
34
|
+
self.cfg = json.loads(open(path_to_conf_file).read())
|
|
35
|
+
self.client = Client(self.cfg.get('endpoint', 'http://127.0.0.1:8090'))
|
|
36
|
+
self.session = uuid.uuid4().hex
|
|
37
|
+
self.client.reset(self.session)
|
|
38
|
+
self.history = []
|
|
39
|
+
|
|
40
|
+
def sensors(self):
|
|
41
|
+
result = []
|
|
42
|
+
for name, yaw in [('front', 0), ('left', -60), ('right', 60)]:
|
|
43
|
+
result.append(dict(type='sensor.camera.rgb', x=0, y=0, z=1.6, roll=0, pitch=0, yaw=yaw,
|
|
44
|
+
width=960, height=540, fov=100, id='rgb_' + name))
|
|
45
|
+
result.append(dict(type='sensor.speedometer', reading_frequency=20, id='speed'))
|
|
46
|
+
return result
|
|
47
|
+
|
|
48
|
+
def run_step(self, input_data, timestamp):
|
|
49
|
+
context = self._context_state.context
|
|
50
|
+
if context is None:
|
|
51
|
+
raise ValueError('Evaluator did not bind the public instruction')
|
|
52
|
+
# CARLA camera BGRA -> RGB. Camera positions are vehicle origin, not rear axle.
|
|
53
|
+
cameras = {name: [{'timestamp_s': float(timestamp), 'image': image_payload(input_data['rgb_' + name][1][:, :, :3][:, :, ::-1])}]
|
|
54
|
+
for name in ('front', 'left', 'right')}
|
|
55
|
+
speed = float(input_data['speed'][1]['speed'])
|
|
56
|
+
request = Request('carla', context.instruction,
|
|
57
|
+
{'cameras': cameras, 'speed_m_s': speed, 'timestamp_s': float(timestamp),
|
|
58
|
+
'camera_rig': self.sensors(), 'vehicle_origin_to_rear_axle_m': self.cfg.get('rear_axle_offset_m', -1.4)}, SPECS['carla'], int(self.cfg.get('model_seed', 0)))
|
|
59
|
+
xy = self.client.predict(request, self.session)['xy_m']
|
|
60
|
+
lookahead = max(2.0, speed * .5)
|
|
61
|
+
target = next((p for p in xy if math.hypot(*p) >= lookahead), xy[-1])
|
|
62
|
+
distance2 = max(target[0]**2 + target[1]**2, .01)
|
|
63
|
+
# Positive model Y is left; positive CARLA steer is right.
|
|
64
|
+
steering_angle = -math.atan2(2 * 2.8 * target[1], distance2)
|
|
65
|
+
steer = max(-1., min(1., steering_angle / .7))
|
|
66
|
+
desired = math.hypot(*xy[0]) / SPECS['carla'].timestamps_s[0]
|
|
67
|
+
delta = desired - speed
|
|
68
|
+
return carla.VehicleControl(steer=steer, throttle=max(0., min(.75, delta * .3)), brake=max(0., min(1., -delta * .5)))
|
|
69
|
+
|
|
70
|
+
def destroy(self):
|
|
71
|
+
if hasattr(self, 'client'):
|
|
72
|
+
self.client.call('close', {'session': self.session})
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""Pinned AlpaSim trajectory plugin, with isolated recurrent sessions."""
|
|
2
|
+
import os
|
|
3
|
+
import numpy as np
|
|
4
|
+
from alpasim_driver.models.base import BaseTrajectoryModel, ModelPrediction
|
|
5
|
+
from alpasim_utils.geometry import Trajectory, pose_from_grpc
|
|
6
|
+
from l2d_benchmark.adapter import Request, SPECS
|
|
7
|
+
from l2d_benchmark.service import Client, image_payload
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class UnifiedTrajectoryModel(BaseTrajectoryModel):
|
|
11
|
+
@classmethod
|
|
12
|
+
def from_config(cls, model_cfg, device, camera_ids, context_length, output_frequency_hz):
|
|
13
|
+
if output_frequency_hz != 10:
|
|
14
|
+
raise ValueError('Unified RealSim output frequency must be 10Hz')
|
|
15
|
+
return cls(camera_ids, context_length)
|
|
16
|
+
|
|
17
|
+
def __init__(self, camera_ids, context_length):
|
|
18
|
+
self._camera_ids = list(camera_ids)
|
|
19
|
+
self._context_length = context_length
|
|
20
|
+
self.client = Client(os.environ.get('L2D_MODEL_ENDPOINT', 'http://127.0.0.1:8090'))
|
|
21
|
+
self.sessions = set()
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def camera_ids(self):
|
|
25
|
+
return self._camera_ids
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def context_length(self):
|
|
29
|
+
return self._context_length
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def output_frequency_hz(self):
|
|
33
|
+
return 10
|
|
34
|
+
|
|
35
|
+
def _encode_command(self, command):
|
|
36
|
+
return 0
|
|
37
|
+
|
|
38
|
+
def predict(self, prediction_input):
|
|
39
|
+
session = prediction_input.l2d_session_uuid
|
|
40
|
+
if session not in self.sessions:
|
|
41
|
+
self.client.reset(session)
|
|
42
|
+
self.sessions.add(session)
|
|
43
|
+
timestamp = int(prediction_input.l2d_timestamp_us)
|
|
44
|
+
cameras = {name: [{'timestamp_us': int(t), 'image': image_payload(im)} for t, im in frames]
|
|
45
|
+
for name, frames in prediction_input.camera_images.items()}
|
|
46
|
+
poses = sorted(prediction_input.ego_pose_history or [], key=lambda p: p.timestamp_us)
|
|
47
|
+
if not poses or not poses[0].timestamp_us <= timestamp <= poses[-1].timestamp_us:
|
|
48
|
+
raise ValueError('No ego pose covers the trajectory anchor; refusing unanchored output')
|
|
49
|
+
trajectory = self.client.predict(Request('realsim', prediction_input.language_instruction,
|
|
50
|
+
{'cameras': cameras, 'speed_m_s': float(prediction_input.speed), 'acceleration_m_s2': float(prediction_input.acceleration), 'timestamp_us': timestamp, 'camera_rectification': prediction_input.l2d_camera_calibration},
|
|
51
|
+
SPECS['realsim'], int(prediction_input.inference_seed)), session)
|
|
52
|
+
xy = np.asarray(trajectory['xy_m'])
|
|
53
|
+
delta = np.diff(np.vstack([np.zeros((1, 2)), xy]), axis=0)
|
|
54
|
+
prediction = ModelPrediction.from_planar(xy, np.arctan2(delta[:, 1], delta[:, 0]))
|
|
55
|
+
pose = Trajectory.from_poses(np.asarray([p.timestamp_us for p in poses], dtype=np.uint64), [pose_from_grpc(p.pose) for p in poses]).interpolate_pose(timestamp)
|
|
56
|
+
prediction.model_t0_us = timestamp
|
|
57
|
+
prediction.pose_local_to_rig_t0 = pose
|
|
58
|
+
prediction.waypoint_timestamps_us = timestamp + np.arange(1, len(xy)+1, dtype=np.uint64) * 100000
|
|
59
|
+
return prediction
|
|
60
|
+
|
|
61
|
+
def close(self):
|
|
62
|
+
for session in self.sessions:
|
|
63
|
+
self.client.call('close', {'session': session})
|
|
64
|
+
self.sessions.clear()
|
l2d_benchmark/cli.py
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""Public language2drive command. Native track entry points remain unchanged."""
|
|
2
|
+
import argparse
|
|
3
|
+
import json
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import sys
|
|
6
|
+
from . import __version__
|
|
7
|
+
from .workspace import TRACKS, discover, initialize
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def selection(value):
|
|
11
|
+
groups = {'openloop': ['nuscenes', 'navsim', 'wod']}
|
|
12
|
+
names = list(TRACKS) if value == 'all' else [track for item in value.split(',') for track in groups.get(item, [item])]
|
|
13
|
+
if not names or len(set(names)) != len(names) or any(n not in TRACKS for n in names):
|
|
14
|
+
raise argparse.ArgumentTypeError('Use all or comma-separated carla,realsim,openloop (or individual nuscenes,navsim,wod)')
|
|
15
|
+
return names
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def main(argv=None):
|
|
19
|
+
parser = argparse.ArgumentParser(prog='language2drive', description='One model adapter. Five instruction-following evaluation tracks.')
|
|
20
|
+
parser.add_argument('--version', action='version', version=__version__)
|
|
21
|
+
sub = parser.add_subparsers(dest='command', required=True)
|
|
22
|
+
init = sub.add_parser('init', help='Extract verified backends from the wheel into a workspace')
|
|
23
|
+
init.add_argument('--workspace', required=True)
|
|
24
|
+
config = sub.add_parser('configure', help='Generate one five-backend configuration using the downloaded resource layout')
|
|
25
|
+
config.add_argument('--workspace')
|
|
26
|
+
config.add_argument('--output', default='.l2d/evaluation.json')
|
|
27
|
+
config.add_argument('--gpu', type=int, default=0)
|
|
28
|
+
for name in ('nuscenes-root', 'navsim-root', 'navsim-sidecars', 'wod-release', 'realsim-bundle', 'realsim-scenes', 'realsim-work-dir', 'ego-hood-dir'):
|
|
29
|
+
config.add_argument('--' + name)
|
|
30
|
+
setup = sub.add_parser('setup', help='Install selected isolated environments and optional resources')
|
|
31
|
+
setup.add_argument('--workspace')
|
|
32
|
+
setup.add_argument('--tracks', type=selection, default=selection('all'))
|
|
33
|
+
setup.add_argument('--network', choices=('auto', 'official', 'mirror'), default='auto')
|
|
34
|
+
setup.add_argument('--transport', choices=('auto', 'direct', 'environment'), default='auto', help='Automatically bypass a broken proxy, or explicitly select transport')
|
|
35
|
+
setup.add_argument('--runtime', action='store_true', help='Also provision CARLA/AlpaSim runtime dependencies')
|
|
36
|
+
setup.add_argument('--realsim-work-dir', help='Place the pinned RealSim runtime on a chosen disk; also pass this path to configure')
|
|
37
|
+
setup.add_argument('--download', action='store_true')
|
|
38
|
+
setup.add_argument('--source-root')
|
|
39
|
+
setup.add_argument('--package', help='Use this local wheel or checkout when installing evaluator environments')
|
|
40
|
+
setup.add_argument('--dry-run', action='store_true')
|
|
41
|
+
serve = sub.add_parser('serve', help='Run your adapter in its existing model environment')
|
|
42
|
+
serve.add_argument('--adapter', required=True)
|
|
43
|
+
serve.add_argument('--config', help='Model configuration JSON')
|
|
44
|
+
serve.add_argument('--host', default='127.0.0.1')
|
|
45
|
+
serve.add_argument('--port', type=int, default=8090)
|
|
46
|
+
run = sub.add_parser('evaluate', help='Infer, export and score selected tracks; save a coverage report')
|
|
47
|
+
run.add_argument('--config', required=True)
|
|
48
|
+
run.add_argument('--tracks', type=selection, default=selection('all'))
|
|
49
|
+
run.add_argument('--output', default='outputs/my-model')
|
|
50
|
+
run.add_argument('--dry-run', action='store_true')
|
|
51
|
+
live = sub.add_parser('run', help='Start one model service and run GPU campaigns across three runtime groups')
|
|
52
|
+
live.add_argument('--config', required=True)
|
|
53
|
+
live.add_argument('--tracks', type=selection, default=selection('all'))
|
|
54
|
+
live.add_argument('--adapter')
|
|
55
|
+
live.add_argument('--model-config')
|
|
56
|
+
live.add_argument('--model-python')
|
|
57
|
+
live.add_argument('--output', default='outputs/my-model')
|
|
58
|
+
live.add_argument('--dry-run', action='store_true')
|
|
59
|
+
gpu = sub.add_parser('gpu-check', help='Check host GPU, evaluator interpreters and configured resources')
|
|
60
|
+
gpu.add_argument('--config', required=True)
|
|
61
|
+
gpu.add_argument('--tracks', type=selection, default=selection('all'))
|
|
62
|
+
worker = sub.add_parser('_worker', help=argparse.SUPPRESS)
|
|
63
|
+
worker.add_argument('--config', required=True)
|
|
64
|
+
worker.add_argument('--track', required=True, choices=TRACKS)
|
|
65
|
+
worker.add_argument('--output', required=True)
|
|
66
|
+
demo = sub.add_parser('adapter-check', help='Validate one adapter against all five output contracts, without datasets')
|
|
67
|
+
demo.add_argument('--adapter', required=True)
|
|
68
|
+
demo.add_argument('--config')
|
|
69
|
+
doctor = sub.add_parser('doctor', help='Check workspace and per-track interpreter availability')
|
|
70
|
+
doctor.add_argument('--workspace')
|
|
71
|
+
args = parser.parse_args(argv)
|
|
72
|
+
try:
|
|
73
|
+
if args.command == 'init':
|
|
74
|
+
result = {'workspace': str(initialize(args.workspace))}
|
|
75
|
+
elif args.command == 'configure':
|
|
76
|
+
from .configure import configure
|
|
77
|
+
if args.gpu < 0:
|
|
78
|
+
raise ValueError('--gpu must be a non-negative host GPU index')
|
|
79
|
+
names = ('nuscenes_root', 'navsim_root', 'navsim_sidecars', 'wod_release', 'realsim_bundle', 'realsim_scenes', 'realsim_work_dir', 'ego_hood_dir')
|
|
80
|
+
result = configure(args.workspace, args.output, args.gpu, **{name: getattr(args, name) for name in names})
|
|
81
|
+
elif args.command == 'setup':
|
|
82
|
+
from .setup import bootstrap
|
|
83
|
+
result = bootstrap(args.workspace, args.tracks, args.network, args.runtime, args.download, args.source_root, args.dry_run, args.package, args.transport, args.realsim_work_dir)
|
|
84
|
+
elif args.command == 'serve':
|
|
85
|
+
from .service import serve
|
|
86
|
+
serve(args.adapter, json.loads(Path(args.config).read_text()) if args.config else {}, args.host, args.port)
|
|
87
|
+
return 0
|
|
88
|
+
elif args.command == 'run':
|
|
89
|
+
from .live import launch
|
|
90
|
+
result = launch(args.config, args.tracks, args.output, args.adapter, args.model_config, args.model_python, args.dry_run)
|
|
91
|
+
elif args.command == 'gpu-check':
|
|
92
|
+
from .live import check
|
|
93
|
+
result = check(args.config, args.tracks)
|
|
94
|
+
elif args.command in ('evaluate', '_worker'):
|
|
95
|
+
from .pipeline import run, worker
|
|
96
|
+
result = run(args.config, args.tracks, args.output, args.dry_run) if args.command == 'evaluate' else worker(args.config, args.track, args.output)
|
|
97
|
+
elif args.command == 'adapter-check':
|
|
98
|
+
from .adapter import Request, SPECS, load_adapter, predict
|
|
99
|
+
config = json.loads(Path(args.config).read_text()) if args.config else {}
|
|
100
|
+
result = {'mode': 'synthetic_interface_check', 'tracks': {}}
|
|
101
|
+
for track, spec in SPECS.items():
|
|
102
|
+
adapter = load_adapter(args.adapter, config)
|
|
103
|
+
predict(adapter, Request(track, 'Maintain your current speed.', {'cameras': {}, 'speed_m_s': 2.0}, spec))
|
|
104
|
+
result['tracks'][track] = 'valid'
|
|
105
|
+
close = getattr(adapter, 'close', None)
|
|
106
|
+
if close: close()
|
|
107
|
+
else:
|
|
108
|
+
root = discover(args.workspace)
|
|
109
|
+
result = {'workspace': str(root), 'interpreters': {t: (root / '.l2d/envs' / t / 'bin/python').is_file() for t in TRACKS}, 'data_access': 'See docs/INSTALLATION.md; doctor does not assert dataset/runtime readiness'}
|
|
110
|
+
print(json.dumps(result, indent=2, allow_nan=False))
|
|
111
|
+
if args.command in ('evaluate', 'run') and any(v.get('status') == 'failed' for v in result['tracks'].values()):
|
|
112
|
+
return 1
|
|
113
|
+
if args.command == 'gpu-check' and not result['ready']:
|
|
114
|
+
return 1
|
|
115
|
+
return 0
|
|
116
|
+
except Exception as error:
|
|
117
|
+
parser.exit(2, f'language2drive: {error}\n')
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
if __name__ == '__main__':
|
|
121
|
+
sys.exit(main())
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Generate one evaluation configuration from the standard downloaded layout."""
|
|
2
|
+
import json
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from .workspace import TRACKS, discover
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def configure(workspace, destination, gpu=0, **paths):
|
|
8
|
+
root = discover(workspace)
|
|
9
|
+
def chosen(name, default):
|
|
10
|
+
return str(Path(paths.get(name) or default).expanduser().resolve())
|
|
11
|
+
real = root / TRACKS['realsim']
|
|
12
|
+
real_work = Path(chosen('realsim_work_dir', real / '.runtime-env'))
|
|
13
|
+
bundle = Path(chosen('realsim_bundle', real / 'assets/langauge2drive.RealSim'))
|
|
14
|
+
scenes = chosen('realsim_scenes', real / 'scenes')
|
|
15
|
+
cfg = dict(workspace=str(root), endpoint='http://127.0.0.1:8090',
|
|
16
|
+
model=dict(name='custom', seed=0), tracks={
|
|
17
|
+
'carla': dict(managed_runtime=True, gpu=gpu, tier='base', splits=['dev', 'test'], seeds='1', host='127.0.0.1', port=2000),
|
|
18
|
+
'realsim': dict(managed_runtime=True, gpu=gpu, python=str(real_work / 'venv/bin/python'),
|
|
19
|
+
bundle=str(bundle), scene_root=scenes, ego_hood_dir=chosen('ego_hood_dir', real / 'assets/ego-hoods'),
|
|
20
|
+
public_workload=str(bundle / 'compiled/public_workload.json'), sidecar=str(bundle / 'compiled/sidecar.json'),
|
|
21
|
+
pcus=str(bundle / 'pcus.json'), eval_config=str(bundle / 'runtime/eval.json'), usdz_glob=scenes+'/*.usdz', concurrency=1),
|
|
22
|
+
'nuscenes': dict(sensor_root=chosen('nuscenes_root', root / TRACKS['nuscenes'] / 'assets/nuscenes'), split='heldout', conditions=['canonical'], seed=0),
|
|
23
|
+
'navsim': dict(sensor_root=chosen('navsim_root', root / TRACKS['navsim'] / 'assets/openscene-v1.1/sensor_blobs/test'),
|
|
24
|
+
sidecars=chosen('navsim_sidecars', root / TRACKS['navsim'] / 'assets/private_sidecars'), scorer='corrected',
|
|
25
|
+
conditions=['canonical', 'paraphrase_1', 'paraphrase_2', 'paraphrase_3']),
|
|
26
|
+
'wod': dict(release_dir=chosen('wod_release', root / TRACKS['wod'] / 'prerelease/v0.1.0'),
|
|
27
|
+
contracts_dir=str(root / TRACKS['wod'] / 'contracts/wod-e2e-p0-v0.1.0'))})
|
|
28
|
+
path = Path(destination).resolve()
|
|
29
|
+
if path.exists():
|
|
30
|
+
raise ValueError('Configuration already exists; preserve it or choose another --output')
|
|
31
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
32
|
+
path.write_text(json.dumps(cfg, indent=2)+'\n')
|
|
33
|
+
return dict(config=str(path), gpu=gpu, next='language2drive gpu-check --config ' + str(path))
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Reuse the installed distribution when provisioning isolated runtime environments."""
|
|
2
|
+
import base64
|
|
3
|
+
import csv
|
|
4
|
+
import hashlib
|
|
5
|
+
from importlib.metadata import distribution
|
|
6
|
+
import io
|
|
7
|
+
from pathlib import Path, PurePosixPath
|
|
8
|
+
import zipfile
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def cached_wheel(root, dry_run=False):
|
|
12
|
+
dist = distribution('language2drive')
|
|
13
|
+
destination = Path(root) / '.l2d/wheels' / ('language2drive-' + dist.version + '-py3-none-any.whl')
|
|
14
|
+
if dry_run:
|
|
15
|
+
return destination
|
|
16
|
+
payload, records = {}, []
|
|
17
|
+
for item in dist.files or []:
|
|
18
|
+
name = str(item)
|
|
19
|
+
# Generated launchers live outside site-packages and are regenerated by pip.
|
|
20
|
+
if '..' in PurePosixPath(name).parts or item.suffix == '.pyc' or name.endswith('.dist-info/RECORD'):
|
|
21
|
+
continue
|
|
22
|
+
source = Path(dist.locate_file(item))
|
|
23
|
+
if not source.is_file():
|
|
24
|
+
raise FileNotFoundError('Installed distribution is incomplete: ' + name)
|
|
25
|
+
data = source.read_bytes()
|
|
26
|
+
if item.hash and item.hash.mode == 'sha256':
|
|
27
|
+
digest = base64.urlsafe_b64encode(hashlib.sha256(data).digest()).decode().rstrip('=')
|
|
28
|
+
if digest != item.hash.value:
|
|
29
|
+
raise ValueError('Installed package was modified: ' + name + '; provide --package explicitly')
|
|
30
|
+
payload[name] = data
|
|
31
|
+
if not any(name.endswith('.dist-info/WHEEL') for name in payload):
|
|
32
|
+
raise ValueError('Cannot reuse an editable distribution; supply --package /path/to/checkout')
|
|
33
|
+
for name, data in payload.items():
|
|
34
|
+
digest = base64.urlsafe_b64encode(hashlib.sha256(data).digest()).decode().rstrip('=')
|
|
35
|
+
records.append([name, 'sha256=' + digest, len(data)])
|
|
36
|
+
record = next(n.rsplit('/', 1)[0] + '/RECORD' for n in payload if n.endswith('.dist-info/WHEEL'))
|
|
37
|
+
records.append([record, '', ''])
|
|
38
|
+
stream = io.StringIO(); csv.writer(stream, lineterminator='\n').writerows(records)
|
|
39
|
+
payload[record] = stream.getvalue().encode()
|
|
40
|
+
destination.parent.mkdir(parents=True, exist_ok=True)
|
|
41
|
+
temporary = destination.with_suffix('.tmp')
|
|
42
|
+
with zipfile.ZipFile(temporary, 'w', compression=zipfile.ZIP_DEFLATED) as archive:
|
|
43
|
+
for name, data in payload.items():
|
|
44
|
+
archive.writestr(name, data)
|
|
45
|
+
temporary.replace(destination)
|
|
46
|
+
return destination
|
l2d_benchmark/live.py
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"""Host-side orchestration; native runtime and scoring authorities are preserved."""
|
|
2
|
+
from contextlib import contextmanager, nullcontext
|
|
3
|
+
import json
|
|
4
|
+
import os
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
import subprocess
|
|
7
|
+
import sys
|
|
8
|
+
from urllib.parse import urlparse
|
|
9
|
+
from .pipeline import environment, load_config, run
|
|
10
|
+
from .processes import Services
|
|
11
|
+
from .workspace import TRACKS
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def check(config_path, selected):
|
|
15
|
+
config = load_config(config_path)
|
|
16
|
+
root = Path(config['workspace'])
|
|
17
|
+
checks = []
|
|
18
|
+
def record(name, valid, remedy):
|
|
19
|
+
checks.append(dict(name=name, ready=bool(valid), remedy=None if valid else remedy))
|
|
20
|
+
try:
|
|
21
|
+
gpu = subprocess.run(['nvidia-smi', '--query-gpu=index,name,memory.free,utilization.gpu',
|
|
22
|
+
'--format=csv,noheader'], capture_output=True, text=True, timeout=15)
|
|
23
|
+
record('NVIDIA driver', gpu.returncode == 0, gpu.stderr.strip() or 'Run on the GPU host, outside a sandbox that hides NVIDIA devices.')
|
|
24
|
+
gpu_inventory = gpu.stdout.strip().splitlines() if gpu.returncode == 0 else []
|
|
25
|
+
except (OSError, subprocess.TimeoutExpired) as error:
|
|
26
|
+
record('NVIDIA driver', False, str(error)); gpu_inventory = []
|
|
27
|
+
for track in selected:
|
|
28
|
+
cfg = config['tracks'][track]
|
|
29
|
+
default = root / (TRACKS[track] + '/.runtime-env/venv/bin/python') if track == 'realsim' else root / '.l2d/envs' / track / 'bin/python'
|
|
30
|
+
python = str(cfg.get('python', default))
|
|
31
|
+
installed = Path(python).is_file()
|
|
32
|
+
remedy = 'Run language2drive setup --tracks ' + track + (' --runtime' if track in ('carla', 'realsim') else '')
|
|
33
|
+
record(track + ' interpreter', installed, remedy)
|
|
34
|
+
if installed:
|
|
35
|
+
modules = 'numpy, shapely, PIL'
|
|
36
|
+
if track == 'carla':
|
|
37
|
+
modules += ', carla, py_trees'
|
|
38
|
+
elif track == 'realsim':
|
|
39
|
+
modules += ', grpc, alpasim_runtime, alpasim_physics, alpasim_controller, language2drive_realsim'
|
|
40
|
+
try:
|
|
41
|
+
imported = subprocess.run([python, '-c', 'import ' + modules], capture_output=True,
|
|
42
|
+
text=True, timeout=30, env=environment(root, track))
|
|
43
|
+
ready = imported.returncode == 0
|
|
44
|
+
detail = imported.stderr.strip()[-1200:]
|
|
45
|
+
except (OSError, subprocess.TimeoutExpired) as error:
|
|
46
|
+
ready, detail = False, str(error)
|
|
47
|
+
record(track + ' runtime imports', ready, remedy + '. ' + detail)
|
|
48
|
+
for key in ('sensor_root', 'sidecars', 'release_dir', 'contracts_dir', 'public_workload', 'sidecar', 'pcus', 'eval_config', 'bundle', 'scene_root', 'ego_hood_dir'):
|
|
49
|
+
if key in cfg:
|
|
50
|
+
record(track + ' ' + key, Path(cfg[key]).exists() and 'PATH/TO' not in cfg[key], 'Provide the authorized resource path in tracks.' + track + '.' + key)
|
|
51
|
+
if track == 'carla':
|
|
52
|
+
record('CARLA 0.9.16 binary', (root / TRACKS[track] / 'carla_runtime/CarlaUE4/Binaries/Linux/CarlaUE4-Linux-Shipping').is_file(), 'Run setup --tracks carla --runtime --download')
|
|
53
|
+
if cfg.get('managed_runtime'):
|
|
54
|
+
record('CARLA release launcher authority', os.geteuid() == 0, 'The native release launcher requires a root-owned deployment and a non-root sim user. Use the native host guide or an already-running authorized server.')
|
|
55
|
+
record('CARLA frozen runtime manifest', (root / TRACKS[track] / '.runtime/carla_runtime_assets.current.json').is_file(), 'Bootstrap the native server, then run l2d freeze-runtime-assets. See docs/GPU_EVALUATION.md.')
|
|
56
|
+
if track == 'realsim' and cfg.get('managed_runtime'):
|
|
57
|
+
try:
|
|
58
|
+
driver = subprocess.run(['nvidia-smi', '--query-gpu=driver_version',
|
|
59
|
+
'--format=csv,noheader', '--id=' + str(cfg.get('gpu', 0))],
|
|
60
|
+
capture_output=True, text=True, timeout=15)
|
|
61
|
+
versions = driver.stdout.strip().splitlines()
|
|
62
|
+
supported = driver.returncode == 0 and bool(versions) and all(
|
|
63
|
+
int(version.split('.')[0]) >= 570 for version in versions)
|
|
64
|
+
detail = ', '.join(versions) or driver.stderr.strip()
|
|
65
|
+
except (OSError, ValueError, subprocess.TimeoutExpired) as error:
|
|
66
|
+
supported, detail = False, str(error)
|
|
67
|
+
record('RealSim pinned renderer driver requirement', supported,
|
|
68
|
+
'Pinned AlpaSim/NuRec declares NVIDIA driver >= 570.x; detected: ' + detail
|
|
69
|
+
+ '. CUDA visibility alone does not verify renderer compatibility.')
|
|
70
|
+
try:
|
|
71
|
+
result = subprocess.run(['docker', 'info', '--format', '{{json .Runtimes}}'], capture_output=True, text=True, timeout=15)
|
|
72
|
+
valid = result.returncode == 0 and 'nvidia' in result.stdout
|
|
73
|
+
except (OSError, subprocess.TimeoutExpired):
|
|
74
|
+
valid = False
|
|
75
|
+
record('RealSim Docker NVIDIA runtime', valid, 'Install NVIDIA Container Toolkit and authorize Docker access on the GPU host.')
|
|
76
|
+
return dict(ready=all(row['ready'] for row in checks), checks=checks, gpu_inventory=gpu_inventory,
|
|
77
|
+
gpu_experiments_executed=False)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
@contextmanager
|
|
81
|
+
def carla_server(root, cfg, target):
|
|
82
|
+
if not cfg.get('managed_runtime'):
|
|
83
|
+
yield
|
|
84
|
+
return
|
|
85
|
+
if os.geteuid() != 0:
|
|
86
|
+
raise RuntimeError('Native CARLA release launcher requires root; see docs/GPU_EVALUATION.md. An external server can use managed_runtime=false.')
|
|
87
|
+
backend = root / TRACKS['carla']
|
|
88
|
+
env = environment(root, 'carla')
|
|
89
|
+
env['L2D_PYTHON'] = str(cfg.get('python', root / '.l2d/envs/carla/bin/python'))
|
|
90
|
+
port = int(cfg.get('port', 2000))
|
|
91
|
+
with Services(target / 'services') as services:
|
|
92
|
+
services.start('carla', ['bash', str(backend / 'tools/start_external_carla.sh'),
|
|
93
|
+
'--port', str(port), '--gpu-rank', str(cfg.get('gpu', 0))],
|
|
94
|
+
backend, env, port, int(cfg.get('startup_timeout_s', 240)))
|
|
95
|
+
yield
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def launch(config_path, selected, output, adapter=None, model_config=None, model_python=None, dry_run=False):
|
|
99
|
+
config = load_config(config_path)
|
|
100
|
+
root, output = Path(config['workspace']), Path(output).resolve()
|
|
101
|
+
model = config.get('model_service', {})
|
|
102
|
+
adapter = adapter or model.get('adapter')
|
|
103
|
+
if not adapter:
|
|
104
|
+
raise ValueError('run requires --adapter or model_service.adapter; use evaluate for an external model service')
|
|
105
|
+
python = model_python or model.get('python', sys.executable)
|
|
106
|
+
parsed = urlparse(config.get('endpoint', 'http://127.0.0.1:8090'))
|
|
107
|
+
if parsed.scheme != 'http' or parsed.hostname != '127.0.0.1':
|
|
108
|
+
raise ValueError('Managed model service requires an http://127.0.0.1:PORT endpoint')
|
|
109
|
+
command = [str(python), '-m', 'l2d_benchmark.cli', 'serve', '--adapter', str(Path(adapter).resolve()), '--port', str(parsed.port or 8090)]
|
|
110
|
+
model_config = model_config or model.get('config')
|
|
111
|
+
if model_config:
|
|
112
|
+
command.extend(['--config', str(Path(model_config).resolve())])
|
|
113
|
+
if dry_run:
|
|
114
|
+
plan = run(config_path, selected, output, True)
|
|
115
|
+
plan['model_service'] = command
|
|
116
|
+
plan['runtime_groups'] = {g: [t for t in ts if t in selected] for g, ts in
|
|
117
|
+
{'carla': ['carla'], 'realsim': ['realsim'], 'openloop': ['nuscenes', 'navsim', 'wod']}.items()}
|
|
118
|
+
return plan
|
|
119
|
+
readiness = check(config_path, selected)
|
|
120
|
+
if not readiness['ready']:
|
|
121
|
+
output.mkdir(parents=True, exist_ok=True)
|
|
122
|
+
(output / 'preflight.json').write_text(json.dumps(readiness, indent=2))
|
|
123
|
+
raise RuntimeError('GPU/resource preflight failed; see ' + str(output / 'preflight.json'))
|
|
124
|
+
combined = dict(tracks={}, runtime_groups=['carla', 'realsim', 'openloop'], cross_track_aggregate=None)
|
|
125
|
+
with Services(output / 'model-service') as services:
|
|
126
|
+
services.start('model', command, root, environment(root, 'carla'), parsed.port or 8090)
|
|
127
|
+
for track in selected:
|
|
128
|
+
manager = carla_server(root, config['tracks'][track], output / track) if track == 'carla' else nullcontext()
|
|
129
|
+
try:
|
|
130
|
+
with manager:
|
|
131
|
+
report = run(config_path, [track], output)
|
|
132
|
+
combined['tracks'].update(report['tracks'])
|
|
133
|
+
except Exception as error:
|
|
134
|
+
combined['tracks'][track] = dict(status='failed', error=str(error))
|
|
135
|
+
(output / 'summary.json').write_text(json.dumps(combined, indent=2))
|
|
136
|
+
return combined
|