Skip to content
Snippets Groups Projects
Commit 0ea753cc authored by sacardoz's avatar sacardoz
Browse files

occlusion manager changes

parent 602cb676
No related branches found
No related tags found
2 merge requests!21Major changes. convert nuplan devkit to handle occlusions for project,!1Shea occlusion manager
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
from omegaconf import DictConfig from omegaconf import DictConfig
from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario
from nuplan.planning.simulation.occlusion.occlusion_manager import AbstractOcclusionManager from nuplan.planning.simulation.occlusion.abstract_occlusion_manager import AbstractOcclusionManager
from nuplan.planning.simulation.occlusion.range_occlusion_manager import RangeOcclusionManager from nuplan.planning.simulation.occlusion.range_occlusion_manager import RangeOcclusionManager
def build_occlusion_manager(occlusion_cfg: DictConfig, scenario: AbstractScenario) -> AbstractOcclusionManager: def build_occlusion_manager(occlusion_cfg: DictConfig, scenario: AbstractScenario) -> AbstractOcclusionManager:
......
...@@ -17,7 +17,7 @@ from nuplan.planning.simulation.callback.metric_callback import MetricCallback ...@@ -17,7 +17,7 @@ from nuplan.planning.simulation.callback.metric_callback import MetricCallback
from nuplan.planning.simulation.callback.multi_callback import MultiCallback from nuplan.planning.simulation.callback.multi_callback import MultiCallback
from nuplan.planning.simulation.controller.abstract_controller import AbstractEgoController from nuplan.planning.simulation.controller.abstract_controller import AbstractEgoController
from nuplan.planning.simulation.observation.abstract_observation import AbstractObservation from nuplan.planning.simulation.observation.abstract_observation import AbstractObservation
from nuplan.planning.simulation.occlusion.occlusion_manager import AbstractOcclusionManager from nuplan.planning.simulation.occlusion.abstract_occlusion_manager import AbstractOcclusionManager
from nuplan.planning.simulation.planner.abstract_planner import AbstractPlanner from nuplan.planning.simulation.planner.abstract_planner import AbstractPlanner
from nuplan.planning.simulation.runner.simulations_runner import SimulationRunner from nuplan.planning.simulation.runner.simulations_runner import SimulationRunner
from nuplan.planning.simulation.simulation import Simulation from nuplan.planning.simulation.simulation import Simulation
......
...@@ -11,24 +11,38 @@ from nuplan.planning.simulation.observation.observation_type import DetectionsTr ...@@ -11,24 +11,38 @@ from nuplan.planning.simulation.observation.observation_type import DetectionsTr
class AbstractOcclusionManager(metaclass=ABCMeta): class AbstractOcclusionManager(metaclass=ABCMeta):
"""
Interface for a generic occlusion manager.
"""
def __init__( def __init__(
self, self,
scenario: AbstractScenario scenario: AbstractScenario
): ):
self._masks = {} self._visible_agent_cache = {}
self.scenario = scenario self.scenario = scenario
def reset(self) -> None: def reset(self) -> None:
self._masks = {} """
Resets occlusion manager cache.
"""
self._visible_agent_cache = {}
def occlude_input(self, input_buffer: SimulationHistoryBuffer) -> SimulationHistoryBuffer: def occlude_input(self, input_buffer: SimulationHistoryBuffer) -> SimulationHistoryBuffer:
"""
Occludes SimulationHistoryBuffer input. Loops through each timestep defined by time_us,
checks to see if timestep is already contained in _visible_agent_cache and computes
occlusions if not, and occludes timestep using cached results. Repacks output in
SimulationHistoryBuffer.
"""
ego_state_buffer = input_buffer.ego_state_buffer ego_state_buffer = input_buffer.ego_state_buffer
observations_buffer = input_buffer.observation_buffer observations_buffer = input_buffer.observation_buffer
sample_interval = input_buffer.sample_interval sample_interval = input_buffer.sample_interval
for ego_state, observations in zip(ego_state_buffer, observations_buffer): for ego_state, observations in zip(ego_state_buffer, observations_buffer):
if ego_state.time_us not in self._masks: if ego_state.time_us not in self._visible_agent_cache:
self._masks[ego_state.time_us] = self._compute_mask(ego_state, observations) self._visible_agent_cache[ego_state.time_us] = self._compute_mask(ego_state, observations)
output_buffer = SimulationHistoryBuffer(ego_state_buffer, \ output_buffer = SimulationHistoryBuffer(ego_state_buffer, \
deque([self._mask_input(ego_state.time_us, observations) for ego_state, observations in zip(ego_state_buffer, observations_buffer)]), \ deque([self._mask_input(ego_state.time_us, observations) for ego_state, observations in zip(ego_state_buffer, observations_buffer)]), \
...@@ -41,14 +55,16 @@ class AbstractOcclusionManager(metaclass=ABCMeta): ...@@ -41,14 +55,16 @@ class AbstractOcclusionManager(metaclass=ABCMeta):
pass pass
def _mask_input(self, time_us: int, observations: DetectionsTracks) -> DetectionsTracks: def _mask_input(self, time_us: int, observations: DetectionsTracks) -> DetectionsTracks:
assert time_us in self._masks, "Attempted to mask non-cached timestep!" """
Occludes observations at timestep time_us based on cached occlusions.
"""
assert time_us in self._visible_agent_cache, "Attempted to mask non-cached timestep!"
assert isinstance(observations, DetectionsTracks), "Occlusions only support DetectionsTracks." assert isinstance(observations, DetectionsTracks), "Occlusions only support DetectionsTracks."
mask = self._masks[time_us] mask = self._visible_agent_cache[time_us]
tracks = observations.tracked_objects.tracked_objects tracks = observations.tracked_objects.tracked_objects
visible_tracks = [track for track in tracks if track.metadata.track_token in mask] visible_tracks = [track for track in tracks if track.metadata.track_token in mask]
return DetectionsTracks(tracked_objects=TrackedObjects(visible_tracks)) return DetectionsTracks(tracked_objects=TrackedObjects(visible_tracks))
from nuplan.common.actor_state.ego_state import EgoState from nuplan.common.actor_state.ego_state import EgoState
from nuplan.planning.simulation.observation.observation_type import DetectionsTracks, Observation from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario
from nuplan.planning.simulation.occlusion.occlusion_manager import AbstractOcclusionManager from nuplan.planning.simulation.observation.observation_type import DetectionsTracks
from nuplan.planning.simulation.occlusion.abstract_occlusion_manager import AbstractOcclusionManager
class RangeOcclusionManager(AbstractOcclusionManager): class RangeOcclusionManager(AbstractOcclusionManager):
"""
Range occlusion manager. Occludes all objects outside of a given
range of the ego.
"""
def __init__(
self,
scenario: AbstractScenario,
range_threshold: float = 25
):
super().__init__(scenario)
self.range_threshold = range_threshold
def _compute_mask(self, ego_state: EgoState, observations: DetectionsTracks) -> set: def _compute_mask(self, ego_state: EgoState, observations: DetectionsTracks) -> set:
not_occluded = set() not_occluded = set()
for track in observations.tracked_objects.tracked_objects: for track in observations.tracked_objects.tracked_objects:
if (ego_state.center.x - track.center.x) ** 2 + (ego_state.center.y - track.center.y) ** 2 <= 500: if ((ego_state.center.x - track.center.x) ** 2 + \
(ego_state.center.y - track.center.y) ** 2) ** 0.5 <= self.range_threshold:
not_occluded.add(track.metadata.track_token) not_occluded.add(track.metadata.track_token)
return not_occluded return not_occluded
\ No newline at end of file
\ No newline at end of file
...@@ -3,7 +3,7 @@ from dataclasses import dataclass ...@@ -3,7 +3,7 @@ from dataclasses import dataclass
from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario from nuplan.planning.scenario_builder.abstract_scenario import AbstractScenario
from nuplan.planning.simulation.controller.abstract_controller import AbstractEgoController from nuplan.planning.simulation.controller.abstract_controller import AbstractEgoController
from nuplan.planning.simulation.observation.abstract_observation import AbstractObservation from nuplan.planning.simulation.observation.abstract_observation import AbstractObservation
from nuplan.planning.simulation.occlusion.occlusion_manager import AbstractOcclusionManager from nuplan.planning.simulation.occlusion.abstract_occlusion_manager import AbstractOcclusionManager
from nuplan.planning.simulation.planner.abstract_planner import AbstractPlanner from nuplan.planning.simulation.planner.abstract_planner import AbstractPlanner
from nuplan.planning.simulation.simulation_time_controller.abstract_simulation_time_controller import ( from nuplan.planning.simulation.simulation_time_controller.abstract_simulation_time_controller import (
AbstractSimulationTimeController, AbstractSimulationTimeController,
......
%% Cell type:markdown id:34460db1 tags: %% Cell type:markdown id:34460db1 tags:
# Creating a new planner in nuPlan <a name="introduction"></a> # Creating a new planner in nuPlan <a name="introduction"></a>
%% Cell type:markdown id:f0189156 tags: %% Cell type:markdown id:f0189156 tags:
## Setup ## Setup
%% Cell type:code id:373ffd1c tags: %% Cell type:code id:373ffd1c tags:
``` python ``` python
# Useful imports # Useful imports
import os import os
import hydra import hydra
import nest_asyncio import nest_asyncio
from IPython.core.display import display, HTML from IPython.core.display import display, HTML
from bokeh.io import output_notebook from bokeh.io import output_notebook
``` ```
%% Output %% Output
/tmp/ipykernel_11668/4095267831.py:5: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython display /tmp/ipykernel_4691/4095267831.py:5: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython display
from IPython.core.display import display, HTML from IPython.core.display import display, HTML
%% Cell type:code id:13c00121 tags: %% Cell type:code id:13c00121 tags:
``` python ``` python
nest_asyncio.apply() nest_asyncio.apply()
output_notebook() output_notebook()
display(HTML("<style>.output_result { max-width:100% !important; }</style>")) display(HTML("<style>.output_result { max-width:100% !important; }</style>"))
display(HTML("<style>.container { width:100% !important; }</style>")) display(HTML("<style>.container { width:100% !important; }</style>"))
``` ```
%% Output %% Output
%% Cell type:markdown id:128b0d15 tags: %% Cell type:markdown id:128b0d15 tags:
# Simulating the planner <a name="simulation"></a> # Simulating the planner <a name="simulation"></a>
%% Cell type:markdown id:db337ceb tags: %% Cell type:markdown id:db337ceb tags:
## Prepare the simulation config ## Prepare the simulation config
%% Cell type:code id:11b08c6d tags: %% Cell type:code id:11b08c6d tags:
``` python ``` python
from tutorials.utils.tutorial_utils import construct_simulation_hydra_paths from tutorials.utils.tutorial_utils import construct_simulation_hydra_paths
# Location of paths with all simulation configs # Location of paths with all simulation configs
BASE_CONFIG_PATH = os.path.join(os.getenv('NUPLAN_TUTORIAL_PATH', ''), './nuplan/planning/script') BASE_CONFIG_PATH = os.path.join(os.getenv('NUPLAN_TUTORIAL_PATH', ''), './nuplan/planning/script')
simulation_hydra_paths = construct_simulation_hydra_paths(BASE_CONFIG_PATH) simulation_hydra_paths = construct_simulation_hydra_paths(BASE_CONFIG_PATH)
# Create a temporary directory to store the simulation artifacts # Create a temporary directory to store the simulation artifacts
DATASET_PARAMS = [ DATASET_PARAMS = [
'scenario_builder=nuplan_mini', # use nuplan mini database (2.5h of 8 autolabeled logs in Las Vegas) 'scenario_builder=nuplan_mini', # use nuplan mini database (2.5h of 8 autolabeled logs in Las Vegas)
'scenario_filter=one_continuous_log', # simulate only one log 'scenario_filter=one_continuous_log', # simulate only one log
"scenario_filter.log_names=['2021.06.14.16.48.02_veh-12_04057_04438']", "scenario_filter.log_names=['2021.06.14.16.48.02_veh-12_04057_04438']",
'scenario_filter.limit_total_scenarios=1', # use 1 total scenarios 'scenario_filter.limit_total_scenarios=1', # use 1 total scenarios
] ]
ckpt_dir = '/home/sacardoz/checkpoints/pdm_offset_checkpoint.ckpt' ckpt_dir = '/home/sacardoz/checkpoints/pdm_offset_checkpoint.ckpt'
#'/home/sacardoz/checkpoints/urbandriver_checkpoint.ckpt' #'/home/sacardoz/checkpoints/urbandriver_checkpoint.ckpt'
#"/home/sacardoz/tutorial_vector_framework/training_simple_vector_experiment/train_default_simple_vector/2023.11.23.09.55.21/best_model/epoch.ckpt" #"/home/sacardoz/tutorial_vector_framework/training_simple_vector_experiment/train_default_simple_vector/2023.11.23.09.55.21/best_model/epoch.ckpt"
#"/home/sacardoz/training_raster_experiment/train_default_raster/2023.11.23.07.36.36/best_model/epoch.ckpt" #"/home/sacardoz/training_raster_experiment/train_default_raster/2023.11.23.07.36.36/best_model/epoch.ckpt"
# Initialize configuration management system # Initialize configuration management system
hydra.core.global_hydra.GlobalHydra.instance().clear() # reinitialize hydra if already initialized hydra.core.global_hydra.GlobalHydra.instance().clear() # reinitialize hydra if already initialized
hydra.initialize(config_path=simulation_hydra_paths.config_path) hydra.initialize(config_path=simulation_hydra_paths.config_path)
# Compose the configuration # Compose the configuration
cfg = hydra.compose(config_name=simulation_hydra_paths.config_name, overrides=[ cfg = hydra.compose(config_name=simulation_hydra_paths.config_name, overrides=[
'+simulation=closed_loop_reactive_agents', '+simulation=closed_loop_reactive_agents',
#'model=pgm_hybrid_model', #'model=pgm_hybrid_model',
'planner=pdm_hybrid_planner', 'planner=pdm_hybrid_planner',
f"planner.pdm_hybrid_planner.checkpoint_path={ckpt_dir}" , f"planner.pdm_hybrid_planner.checkpoint_path={ckpt_dir}" ,
#'planner.ml_planner.model_config=${model}', #'planner.ml_planner.model_config=${model}',
#f'planner.ml_planner.checkpoint_path={ckpt_dir}', #f'planner.ml_planner.checkpoint_path={ckpt_dir}',
#f'observation=idm_agents_observation', #f'observation=idm_agents_observation',
#'observation.model_config=${model}', #'observation.model_config=${model}',
#f'observation.checkpoint_path={ckpt_dir}', #f'observation.checkpoint_path={ckpt_dir}',
'worker=sequential', 'worker=sequential',
'+occlusion=true', '+occlusion=true',
"hydra.searchpath=[pkg://tuplan_garage.planning.script.config.common, pkg://tuplan_garage.planning.script.config.simulation, pkg://nuplan.planning.script.config.common, pkg://nuplan.planning.script.experiments]", "hydra.searchpath=[pkg://tuplan_garage.planning.script.config.common, pkg://tuplan_garage.planning.script.config.simulation, pkg://nuplan.planning.script.config.common, pkg://nuplan.planning.script.experiments]",
*DATASET_PARAMS, *DATASET_PARAMS,
]) ])
``` ```
%% Cell type:markdown id:88231b74 tags: %% Cell type:markdown id:88231b74 tags:
## Launch simulation (within the notebook) ## Launch simulation (within the notebook)
%% Cell type:code id:161cc166 tags: %% Cell type:code id:161cc166 tags:
``` python ``` python
from nuplan.planning.script.run_simulation import build_simulation_runners from nuplan.planning.script.run_simulation import build_simulation_runners
from nuplan.common.actor_state.tracked_objects_types import AGENT_TYPES, STATIC_OBJECT_TYPES, TrackedObjectType from nuplan.common.actor_state.tracked_objects_types import AGENT_TYPES, STATIC_OBJECT_TYPES, TrackedObjectType
# Run the simulation loop (real-time visualization not yet supported, see next section for visualization) # Run the simulation loop (real-time visualization not yet supported, see next section for visualization)
runners, common_builder, cfg = build_simulation_runners(cfg) runners, common_builder, cfg = build_simulation_runners(cfg)
``` ```
%% Output %% Output
INFO:nuplan.planning.script.utils:Setting default NUPLAN_DATA_ROOT: /home/sacardoz/nuplan/dataset INFO:nuplan.planning.script.utils:Setting default NUPLAN_DATA_ROOT: /home/sacardoz/nuplan/dataset
INFO:nuplan.planning.script.utils:Setting default NUPLAN_EXP_ROOT: /home/sacardoz/nuplan/exp INFO:nuplan.planning.script.utils:Setting default NUPLAN_EXP_ROOT: /home/sacardoz/nuplan/exp
Global seed set to 0 Global seed set to 0
INFO:nuplan.planning.script.builders.main_callback_builder:Building MultiMainCallback... INFO:nuplan.planning.script.builders.main_callback_builder:Building MultiMainCallback...
INFO:nuplan.planning.script.builders.main_callback_builder:Building MultiMainCallback: 4...DONE! INFO:nuplan.planning.script.builders.main_callback_builder:Building MultiMainCallback: 4...DONE!
2023-11-24 15:55:34,469 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/worker_pool_builder.py:19} Building WorkerPool... 2023-11-28 10:52:47,443 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/worker_pool_builder.py:19} Building WorkerPool...
2023-11-24 15:55:34,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/utils/multithreading/worker_pool.py:101} Worker: Sequential 2023-11-28 10:52:47,444 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/utils/multithreading/worker_pool.py:101} Worker: Sequential
2023-11-24 15:55:34,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/utils/multithreading/worker_pool.py:102} Number of nodes: 1 2023-11-28 10:52:47,444 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/utils/multithreading/worker_pool.py:102} Number of nodes: 1
Number of CPUs per node: 1 Number of CPUs per node: 1
Number of GPUs per node: 0 Number of GPUs per node: 0
Number of threads across all nodes: 1 Number of threads across all nodes: 1
2023-11-24 15:55:34,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/worker_pool_builder.py:27} Building WorkerPool...DONE! 2023-11-28 10:52:47,444 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/worker_pool_builder.py:27} Building WorkerPool...DONE!
2023-11-24 15:55:34,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:32} Building experiment folders... 2023-11-28 10:52:47,444 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:32} Building experiment folders...
2023-11-24 15:55:34,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:35} 2023-11-28 10:52:47,445 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:35}
Folder where all results are stored: /home/sacardoz/nuplan/exp/exp/simulation/closed_loop_reactive_agents/2023.11.24.15.55.34 Folder where all results are stored: /home/sacardoz/nuplan/exp/exp/simulation/closed_loop_reactive_agents/2023.11.28.10.52.46
2023-11-24 15:55:34,472 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:70} Building experiment folders...DONE! 2023-11-28 10:52:47,446 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/folder_builder.py:70} Building experiment folders...DONE!
2023-11-24 15:55:34,472 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_callback_builder.py:52} Building AbstractCallback... 2023-11-28 10:52:47,446 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_callback_builder.py:52} Building AbstractCallback...
2023-11-24 15:55:34,472 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_callback_builder.py:68} Building AbstractCallback: 0...DONE! 2023-11-28 10:52:47,446 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_callback_builder.py:68} Building AbstractCallback: 0...DONE!
2023-11-24 15:55:34,472 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:49} Building simulations... 2023-11-28 10:52:47,446 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:49} Building simulations...
2023-11-24 15:55:34,472 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:55} Extracting scenarios... 2023-11-28 10:52:47,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:55} Extracting scenarios...
2023-11-24 15:55:34,473 INFO {/home/sacardoz/nuplan-devkit/nuplan/common/utils/distributed_scenario_filter.py:83} Building Scenarios in mode DistributedMode.SINGLE_NODE 2023-11-28 10:52:47,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/common/utils/distributed_scenario_filter.py:83} Building Scenarios in mode DistributedMode.SINGLE_NODE
2023-11-24 15:55:34,473 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_building_builder.py:18} Building AbstractScenarioBuilder... 2023-11-28 10:52:47,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_building_builder.py:18} Building AbstractScenarioBuilder...
2023-11-24 15:55:34,484 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_building_builder.py:21} Building AbstractScenarioBuilder...DONE! 2023-11-28 10:52:47,460 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_building_builder.py:21} Building AbstractScenarioBuilder...DONE!
2023-11-24 15:55:34,484 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_filter_builder.py:35} Building ScenarioFilter... 2023-11-28 10:52:47,460 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_filter_builder.py:35} Building ScenarioFilter...
2023-11-24 15:55:34,485 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_filter_builder.py:44} Building ScenarioFilter...DONE! 2023-11-28 10:52:47,462 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/scenario_filter_builder.py:44} Building ScenarioFilter...DONE!
2023-11-24 15:55:34,503 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:76} Building metric engines... 2023-11-28 10:52:47,506 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:76} Building metric engines...
2023-11-24 15:55:34,527 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:78} Building metric engines...DONE 2023-11-28 10:52:47,534 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:78} Building metric engines...DONE
2023-11-24 15:55:34,527 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:82} Building simulations from 1 scenarios... 2023-11-28 10:52:47,535 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:82} Building simulations from 1 scenarios...
2023-11-24 15:55:35,102 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:142} Building simulations...DONE! 2023-11-28 10:52:48,385 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/script/builders/simulation_builder.py:142} Building simulations...DONE!
%% Cell type:code id:223284d4 tags: %% Cell type:code id:223284d4 tags:
``` python ``` python
runner = runners[0] runner = runners[0]
``` ```
%% Cell type:code id:90b79421 tags: %% Cell type:code id:90b79421 tags:
``` python ``` python
runner.simulation.callback.on_simulation_start(runner.simulation.setup) runner.simulation.callback.on_simulation_start(runner.simulation.setup)
# Initialize all simulations # Initialize all simulations
runner._initialize() runner._initialize()
while runner.simulation.is_simulation_running(): while runner.simulation.is_simulation_running():
# Execute specific callback # Execute specific callback
runner.simulation.callback.on_step_start(runner.simulation.setup, runner.planner) runner.simulation.callback.on_step_start(runner.simulation.setup, runner.planner)
# Perform step # Perform step
planner_input = runner._simulation.get_planner_input() planner_input = runner._simulation.get_planner_input()
# Execute specific callback # Execute specific callback
runner._simulation.callback.on_planner_start(runner.simulation.setup, runner.planner) runner._simulation.callback.on_planner_start(runner.simulation.setup, runner.planner)
# Plan path based on all planner's inputs # Plan path based on all planner's inputs
trajectory = runner.planner.compute_trajectory(planner_input) trajectory = runner.planner.compute_trajectory(planner_input)
# Propagate simulation based on planner trajectory # Propagate simulation based on planner trajectory
runner._simulation.callback.on_planner_end(runner.simulation.setup, runner.planner, trajectory) runner._simulation.callback.on_planner_end(runner.simulation.setup, runner.planner, trajectory)
iteration = runner.simulation._time_controller.get_iteration() iteration = runner.simulation._time_controller.get_iteration()
runner.simulation.propagate(trajectory) runner.simulation.propagate(trajectory)
# Execute specific callback # Execute specific callback
runner.simulation.callback.on_step_end(runner.simulation.setup, runner.planner, runner.simulation.history.last()) runner.simulation.callback.on_step_end(runner.simulation.setup, runner.planner, runner.simulation.history.last())
runner.simulation.callback.on_simulation_end(runner.simulation.setup, runner.planner, runner.simulation.history) runner.simulation.callback.on_simulation_end(runner.simulation.setup, runner.planner, runner.simulation.history)
``` ```
%% Output %% Output
%% Cell type:code id:e6c22f5f tags: %% Cell type:code id:e6c22f5f tags:
``` python ``` python
from tutorials.utils.tutorial_utils import visualize_history from tutorials.utils.tutorial_utils import visualize_history
if runner.simulation._occlusion_manager: if runner.simulation._occlusion_manager:
runner.simulation._history.occlusion_masks = runner.simulation._occlusion_manager._masks runner.simulation._history.occlusion_masks = runner.simulation._occlusion_manager._visible_agent_cache
visualize_history(runner.simulation._history, runner.scenario, bokeh_port=8888) visualize_history(runner.simulation._history, runner.scenario, bokeh_port=8888)
``` ```
%% Output %% Output
INFO:bokeh.server.server:Starting Bokeh server version 2.4.3 (running on Tornado 6.3.3) INFO:bokeh.server.server:Starting Bokeh server version 2.4.3 (running on Tornado 6.3.3)
WARNING:bokeh.server.util:Host wildcard '*' will allow connections originating from multiple (or possibly all) hostnames or IPs. Use non-wildcard values to restrict access explicitly WARNING:bokeh.server.util:Host wildcard '*' will allow connections originating from multiple (or possibly all) hostnames or IPs. Use non-wildcard values to restrict access explicitly
INFO:bokeh.server.tornado:User authentication hooks NOT provided (default user enabled) INFO:bokeh.server.tornado:User authentication hooks NOT provided (default user enabled)
2023-11-24 15:56:35,057 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,443 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,057 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,444 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,058 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'tutorials/media/nuplan_flow.svg'. Is this a 'parquet' file?: Could not open Parquet input source 'tutorials/media/nuplan_flow.svg': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,446 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'tutorials/media/nuplan_flow.svg'. Is this a 'parquet' file?: Could not open Parquet input source 'tutorials/media/nuplan_flow.svg': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,058 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,059 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,059 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'docs/Makefile'. Is this a 'parquet' file?: Could not open Parquet input source 'docs/Makefile': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,447 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'docs/Makefile'. Is this a 'parquet' file?: Could not open Parquet input source 'docs/Makefile': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,059 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,448 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,059 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet file size is 0 bytes 2023-11-28 10:53:54,448 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet file size is 0 bytes
2023-11-24 15:56:35,060 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'tox/requirements_pythonlint.txt'. Is this a 'parquet' file?: Could not open Parquet input source 'tox/requirements_pythonlint.txt': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,448 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'tox/requirements_pythonlint.txt'. Is this a 'parquet' file?: Could not open Parquet input source 'tox/requirements_pythonlint.txt': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,060 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,449 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,060 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,450 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,060 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,450 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,061 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,450 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,061 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,451 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,061 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,453 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,061 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,453 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,062 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,454 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,070 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'nuplan/BUILD'. Is this a 'parquet' file?: Could not open Parquet input source 'nuplan/BUILD': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,454 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,071 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from '.git/HEAD'. Is this a 'parquet' file?: Could not open Parquet input source '.git/HEAD': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,454 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,072 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,462 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'nuplan/BUILD'. Is this a 'parquet' file?: Could not open Parquet input source 'nuplan/BUILD': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,072 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,467 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from '.git/COMMIT_EDITMSG'. Is this a 'parquet' file?: Could not open Parquet input source '.git/COMMIT_EDITMSG': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,072 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,468 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,073 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,468 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,073 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,469 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,073 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,469 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,074 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'nuplan_devkit.egg-info/PKG-INFO'. Is this a 'parquet' file?: Could not open Parquet input source 'nuplan_devkit.egg-info/PKG-INFO': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,075 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} 'planner_name' 2023-11-28 10:53:54,470 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,075 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,471 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'nuplan_devkit.egg-info/PKG-INFO'. Is this a 'parquet' file?: Could not open Parquet input source 'nuplan_devkit.egg-info/PKG-INFO': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,075 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,473 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} 'planner_name'
2023-11-24 15:56:35,076 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet file size is 0 bytes 2023-11-28 10:53:54,474 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from 'henry_experiments/pretrained_checkpoints/gc_pgp_checkpoint.ckpt'. Is this a 'parquet' file?: Could not open Parquet input source 'henry_experiments/pretrained_checkpoints/gc_pgp_checkpoint.ckpt': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,076 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,475 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,077 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,475 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,077 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,475 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet file size is 0 bytes
2023-11-24 15:56:35,077 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,476 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,078 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from '.github/ISSUE_TEMPLATE/bug_report.md'. Is this a 'parquet' file?: Could not open Parquet input source '.github/ISSUE_TEMPLATE/bug_report.md': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,476 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,079 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file. 2023-11-28 10:53:54,476 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-24 15:56:35,089 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/simulation_tile.py:172} Minimum frame time=0.017 s 2023-11-28 10:53:54,477 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Error creating dataset. Could not read schema from '.github/ISSUE_TEMPLATE/bug_report.md'. Is this a 'parquet' file?: Could not open Parquet input source '.github/ISSUE_TEMPLATE/bug_report.md': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-28 10:53:54,477 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/experiment_file_data.py:140} Could not open Parquet input source '<Buffer>': Parquet magic bytes not found in footer. Either the file is corrupted or this is not a parquet file.
2023-11-28 10:53:54,489 INFO {/home/sacardoz/nuplan-devkit/nuplan/planning/nuboard/base/simulation_tile.py:172} Minimum frame time=0.017 s
Rendering a scenario: 100%|██████████| 1/1 [00:00<00:00, 5.00it/s] Rendering a scenario: 100%|██████████| 1/1 [00:00<00:00, 44.32it/s]
WARNING:bokeh.core.validation.check:W-1000 (MISSING_RENDERERS): Plot has no renderers: Figure(id='1005', ...) WARNING:bokeh.core.validation.check:W-1000 (MISSING_RENDERERS): Plot has no renderers: Figure(id='1005', ...)
INFO:tornado.access:200 GET /autoload.js?bokeh-autoload-element=1003&bokeh-absolute-url=http://localhost:8888&resources=none (::1) 1055.84ms
INFO:bokeh.server.views.ws:WebSocket connection opened INFO:bokeh.server.views.ws:WebSocket connection opened
INFO:bokeh.server.views.ws:ServerConnection created INFO:bokeh.server.views.ws:ServerConnection created
INFO:tornado.access:101 GET /ws?id=583b91c1-44e7-4030-9ddc-acb743fb59ea&origin=da2f890a-eb18-4637-9199-dd0f06169aef&swVersion=4&extensionId=&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&purpose=notebookRenderer (::1) 0.75ms INFO:tornado.access:200 GET /autoload.js?bokeh-autoload-element=1003&bokeh-absolute-url=http://localhost:8888&resources=none (::1) 1240.23ms
2023-11-24 15:56:36,101 INFO {/home/sacardoz/miniconda3/envs/nuplan/lib/python3.9/site-packages/tornado/web.py:2344} 200 GET /autoload.js?bokeh-autoload-element=1003&bokeh-absolute-url=http://localhost:8888&resources=none (::1) 1055.84ms 2023-11-28 10:53:55,651 INFO {/home/sacardoz/miniconda3/envs/nuplan/lib/python3.9/site-packages/tornado/web.py:2344} 200 GET /autoload.js?bokeh-autoload-element=1003&bokeh-absolute-url=http://localhost:8888&resources=none (::1) 1240.23ms
2023-11-24 15:56:36,116 INFO {/home/sacardoz/nuplan-devkit/tutorials/utils/tutorial_utils.py:266} Done rendering! 2023-11-28 10:53:55,661 INFO {/home/sacardoz/nuplan-devkit/tutorials/utils/tutorial_utils.py:267} Done rendering!
2023-11-24 15:56:36,278 INFO {/home/sacardoz/miniconda3/envs/nuplan/lib/python3.9/site-packages/tornado/web.py:2344} 101 GET /ws?id=583b91c1-44e7-4030-9ddc-acb743fb59ea&origin=da2f890a-eb18-4637-9199-dd0f06169aef&swVersion=4&extensionId=&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&purpose=notebookRenderer (::1) 0.75ms 2023-11-28 10:53:55,662 INFO {/home/sacardoz/miniconda3/envs/nuplan/lib/python3.9/site-packages/tornado/web.py:2344} 101 GET /ws?id=bc2a9004-8c61-4fce-94eb-6c0fad2158fa&origin=da2f890a-eb18-4637-9199-dd0f06169aef&swVersion=4&extensionId=&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&purpose=notebookRenderer (::1) 0.62ms
INFO:tornado.access:101 GET /ws?id=bc2a9004-8c61-4fce-94eb-6c0fad2158fa&origin=da2f890a-eb18-4637-9199-dd0f06169aef&swVersion=4&extensionId=&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&purpose=notebookRenderer (::1) 0.62ms
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment