From 311932c9866c808b78870b631cf4944176c5e374 Mon Sep 17 00:00:00 2001 From: QuanyiLi Date: Sat, 6 May 2023 17:10:12 +0100 Subject: [PATCH] batch convert nuscenes --- scenarionet/converter/__init__.py | 3 --- scenarionet/converter/nuscenes/utils.py | 2 +- scenarionet/converter/scripts/convert_nuscenes.py | 6 ++++-- scenarionet/converter/utils.py | 5 +++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scenarionet/converter/__init__.py b/scenarionet/converter/__init__.py index 2c68edc..e69de29 100644 --- a/scenarionet/converter/__init__.py +++ b/scenarionet/converter/__init__.py @@ -1,3 +0,0 @@ -from scenarionet.converter.nuscenes.utils import convert_nuscenes_scenario -from scenarionet.converter.nuplan.utils import convert_nuplan_scenario -from scenarionet.converter.utils import write_to_directory diff --git a/scenarionet/converter/nuscenes/utils.py b/scenarionet/converter/nuscenes/utils.py index ab1e4c3..55983ef 100644 --- a/scenarionet/converter/nuscenes/utils.py +++ b/scenarionet/converter/nuscenes/utils.py @@ -379,7 +379,7 @@ def convert_nuscenes_scenario(scene, nuscenes: NuScenes): result[SD.TRACKS] = get_tracks_from_frames(nuscenes, scene_info, frames, num_to_interpolate=5) result[SD.METADATA][SD.SDC_ID] = "ego" - # TODO Traffic Light + # No traffic light in nuscenes at this stage result[SD.DYNAMIC_MAP_STATES] = {} # map diff --git a/scenarionet/converter/scripts/convert_nuscenes.py b/scenarionet/converter/scripts/convert_nuscenes.py index 4e461ed..4a003b5 100644 --- a/scenarionet/converter/scripts/convert_nuscenes.py +++ b/scenarionet/converter/scripts/convert_nuscenes.py @@ -4,12 +4,14 @@ MetaDrive. """ import os.path -from nuscenes import NuScenes +try: + from nuscenes import NuScenes +except ImportError: + raise ImportError("nuscenes-devkit has to be set up before running data conversion") from scenarionet import SCENARIONET_DATASET_PATH from scenarionet.converter.nuscenes.utils import convert_nuscenes_scenario from scenarionet.converter.utils import write_to_directory -# if __name__ == "__main__": output_path = os.path.join(SCENARIONET_DATASET_PATH, "nuscenes") version = 'v1.0-mini' diff --git a/scenarionet/converter/utils.py b/scenarionet/converter/utils.py index db64acf..982cd42 100644 --- a/scenarionet/converter/utils.py +++ b/scenarionet/converter/utils.py @@ -60,7 +60,7 @@ def mph_to_kmh(speed_in_mph: float): def get_agent_summary(state_dict, id, type): track = state_dict["position"] - valid_track = track[state_dict["valid"], :2] + valid_track = track[state_dict["valid"].astype(int), :2] distance = float(sum(np.linalg.norm(valid_track[i] - valid_track[i + 1]) for i in range(valid_track.shape[0] - 1))) valid_length = int(sum(state_dict["valid"])) @@ -173,10 +173,11 @@ def write_to_directory(convert_func, # rename and save if delay_remove is not None: + assert delay_remove == save_path shutil.rmtree(delay_remove) os.rename(output_path, save_path) summary_file = os.path.join(save_path, summary_file) with open(summary_file, "wb") as file: pickle.dump(dict_recursive_remove_array(metadata_recorder), file) print("Summary is saved at: {}".format(summary_file)) - assert delay_remove == save_path +