ICCV2025-RealADSim-ClosedLoop-SubmissionDemo / navsim /planning /script /builders /planner_builder.py
Download navsim/planning/script/builders/planner_builder.py from XDimLab/ICCV2025-RealADSim-ClosedLoop-SubmissionDemo: direct link, hf CLI and curl.
- Browser
- Download file 1.41 kB
-
https://huggingface.co/XDimLab/ICCV2025-RealADSim-ClosedLoop-SubmissionDemo/resolve/main/navsim/planning/script/builders/planner_builder.py
- Command line
-
hf download hf://XDimLab/ICCV2025-RealADSim-ClosedLoop-SubmissionDemo/navsim/planning/script/builders/planner_builder.py
-
curl -L -o planner_builder.py https://huggingface.co/XDimLab/ICCV2025-RealADSim-ClosedLoop-SubmissionDemo/resolve/main/navsim/planning/script/builders/planner_builder.py
1.41 kB
| from typing import List, Optional, Type, cast | |
| from hydra._internal.utils import _locate | |
| from hydra.utils import instantiate | |
| from omegaconf import DictConfig | |
| from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario | |
| from nuplan.planning.simulation.planner.abstract_planner import AbstractPlanner | |
| def _build_planner(planner_cfg: DictConfig, scenario: Optional[AbstractScenario]) -> AbstractPlanner: | |
| """ | |
| Instantiate planner | |
| :param planner_cfg: config of a planner | |
| :param scenario: scenario | |
| :return AbstractPlanner | |
| """ | |
| config = planner_cfg.copy() | |
| planner_cls: Type[AbstractPlanner] = _locate(config._target_) | |
| if planner_cls.requires_scenario: | |
| assert scenario is not None, ( | |
| "Scenario was not provided to build the planner. " f"Planner {config} can not be build!" | |
| ) | |
| planner = cast(AbstractPlanner, instantiate(config, scenario=scenario)) | |
| else: | |
| planner = cast(AbstractPlanner, instantiate(config)) | |
| return planner | |
| def build_planners(planner_cfg: DictConfig, scenario: Optional[AbstractScenario]) -> List[AbstractPlanner]: | |
| """ | |
| Instantiate multiple planners by calling build_planner | |
| :param planners_cfg: planners config | |
| :param scenario: scenario | |
| :return planners: List of AbstractPlanners | |
| """ | |
| return [_build_planner(planner, scenario) for planner in planner_cfg.values()] | |