From db50bca7fdf5fff1d9124d7e0fca4ddcb2084b03 Mon Sep 17 00:00:00 2001 From: Quanyi Li Date: Sat, 10 Jun 2023 18:56:33 +0100 Subject: [PATCH] Add come updates for Neurips paper (#4) * scenarionet training * wandb * train utils * fix callback * run PPO * use pg test * save path * use torch * add dependency * update ignore * update training * large model * use curriculum training * add time to exp name * storage_path * restore * update training * use my key * add log message * check seed * restore callback * restore call bacl * add log message * add logging message * restore ray1.4 * length 500 * ray 100 * wandb * use tf * more levels * add callback * 10 worker * show level * no env horizon * callback result level * more call back * add diffuculty * add mroen stat * mroe stat * show levels * add callback * new * ep len 600 * fix setup * fix stepup * fix to 3.8 * update setup * parallel worker! * new exp * add callback * lateral dist * pg dataset * evaluate * modify config * align config * train single RL * update training script * 100w eval * less eval to reveal * 2000 env eval * new trianing * eval 1000 * update eval * more workers * more worker * 20 worker * dataset to database * split tool! * split dataset * try fix * train 003 * fix mapping * fix test * add waymo tqdm * utils * fix bug * fix bug * waymo * int type * 8 worker read * disable * read file * add log message * check existence * dist 0 * int * check num * suprass warning * add filter API * filter * store map false * new * ablation * filter * fix * update filyter * reanme to from * random select * add overlapping checj * fix * new training sceheme * new reward * add waymo train script * waymo different config * copy raw data * fix bug * add tqdm * update readme * waymo * pg * max lateral dist 3 * pg * crash_done instead of penalty * no crash done * gpu * update eval script * steering range penalty * evaluate * finish pg * update setup * fix bug * test * fix * add on line * train nuplan * generate sensor * udpate training * static obj * multi worker eval * filx bug * use ray for testing * eval! * filter senario * id filter * fox bug * dist = 2 * filter * eval * eval ret * ok * update training pg * test before use * store data=False * collect figures * capture pic --------- Co-authored-by: Quanyi Li --- .gitignore | 4 + README.md | 29 +- scenarionet/builder/filters.py | 33 +- scenarionet/builder/utils.py | 133 +++++-- ...verify_existence.py => check_existence.py} | 0 scenarionet/check_overlap.py | 22 ++ ...rify_simulation.py => check_simulation.py} | 0 scenarionet/convert_waymo.py | 28 +- scenarionet/converter/nuplan/utils.py | 85 ++++- scenarionet/converter/waymo/utils.py | 41 +- scenarionet/copy_database.py | 47 +++ scenarionet/filter_database.py | 111 ++++++ scenarionet/generate_from_error_file.py | 6 +- scenarionet/merge_database.py | 36 +- scenarionet/move_database.py | 35 -- scenarionet/num_scenarios.py | 18 + scenarionet/run_simulation.py | 8 +- scenarionet/split_database.py | 47 +++ .../local_test/combine_verify_generate.sh | 4 +- .../tests/local_test/convert_pg_large.sh | 4 +- scenarionet/tests/script/capture_pg.py | 119 ++++++ scenarionet/tests/script/compare_data.py | 17 + scenarionet/tests/script/generate_sensor.py | 97 +++++ scenarionet/tests/script/replay_origin.py | 104 +++++ scenarionet/tests/script/run_env.py | 4 +- .../sd_waymo_v1.2_eb4b91b10ca94ff2.pkl | Bin 0 -> 869250 bytes scenarionet/tests/test_filter_overpass.py | 37 ++ scenarionet/tests/test_move.py | 10 +- scenarionet/tests/test_split_dataset.py | 37 ++ scenarionet/verifier/error.py | 4 +- scenarionet/verifier/utils.py | 1 + scenarionet_training/__init__.py | 0 scenarionet_training/scripts/__init__.py | 0 .../scripts/evaluate_nuplan.py | 23 ++ scenarionet_training/scripts/evaluate_pg.py | 27 ++ .../scripts/evaluate_waymo.py | 22 ++ scenarionet_training/scripts/local_test.py | 80 ++++ .../scripts/multi_worker_eval.py | 74 ++++ scenarionet_training/scripts/train_nuplan.py | 96 +++++ scenarionet_training/scripts/train_pg.py | 95 +++++ scenarionet_training/scripts/train_waymo.py | 95 +++++ scenarionet_training/train_utils/__init__.py | 0 .../train_utils/anisotropic_workerset.py | 42 +++ scenarionet_training/train_utils/callbacks.py | 110 ++++++ scenarionet_training/train_utils/check_env.py | 11 + .../train_utils/multi_worker_PPO.py | 46 +++ scenarionet_training/train_utils/utils.py | 356 ++++++++++++++++++ scenarionet_training/wandb_utils/__init__.py | 3 + .../wandb_utils/our_wandb_callbacks.py | 67 ++++ .../wandb_utils/our_wandb_callbacks_ray100.py | 80 ++++ .../wandb_utils/test_wandb.py | 38 ++ .../wandb_utils/wandb_api_key_file.txt | 1 + setup.py | 20 +- 53 files changed, 2274 insertions(+), 133 deletions(-) rename scenarionet/{verify_existence.py => check_existence.py} (100%) create mode 100644 scenarionet/check_overlap.py rename scenarionet/{verify_simulation.py => check_simulation.py} (100%) create mode 100644 scenarionet/copy_database.py create mode 100644 scenarionet/filter_database.py delete mode 100644 scenarionet/move_database.py create mode 100644 scenarionet/num_scenarios.py create mode 100644 scenarionet/split_database.py create mode 100644 scenarionet/tests/script/capture_pg.py create mode 100644 scenarionet/tests/script/compare_data.py create mode 100644 scenarionet/tests/script/generate_sensor.py create mode 100644 scenarionet/tests/script/replay_origin.py create mode 100644 scenarionet/tests/test_dataset/overpass/sd_waymo_v1.2_eb4b91b10ca94ff2.pkl create mode 100644 scenarionet/tests/test_filter_overpass.py create mode 100644 scenarionet/tests/test_split_dataset.py create mode 100644 scenarionet_training/__init__.py create mode 100644 scenarionet_training/scripts/__init__.py create mode 100644 scenarionet_training/scripts/evaluate_nuplan.py create mode 100644 scenarionet_training/scripts/evaluate_pg.py create mode 100644 scenarionet_training/scripts/evaluate_waymo.py create mode 100644 scenarionet_training/scripts/local_test.py create mode 100644 scenarionet_training/scripts/multi_worker_eval.py create mode 100644 scenarionet_training/scripts/train_nuplan.py create mode 100644 scenarionet_training/scripts/train_pg.py create mode 100644 scenarionet_training/scripts/train_waymo.py create mode 100644 scenarionet_training/train_utils/__init__.py create mode 100644 scenarionet_training/train_utils/anisotropic_workerset.py create mode 100644 scenarionet_training/train_utils/callbacks.py create mode 100644 scenarionet_training/train_utils/check_env.py create mode 100644 scenarionet_training/train_utils/multi_worker_PPO.py create mode 100644 scenarionet_training/train_utils/utils.py create mode 100644 scenarionet_training/wandb_utils/__init__.py create mode 100644 scenarionet_training/wandb_utils/our_wandb_callbacks.py create mode 100644 scenarionet_training/wandb_utils/our_wandb_callbacks_ray100.py create mode 100644 scenarionet_training/wandb_utils/test_wandb.py create mode 100644 scenarionet_training/wandb_utils/wandb_api_key_file.txt diff --git a/.gitignore b/.gitignore index c69ffb2..3c6d605 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,7 @@ dataset/* **/passed_scenarios/ **/waymo_origin /dataset/ +/scenarionet_training/wandb/*.pkl +**/TEST/ +**/experiment/ +**/wandb/ diff --git a/README.md b/README.md index 922b2c9..5ce5f0a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ pip install -e . ## Usage We provide some explanation and demo for all scripts here. -**You are encouraged to try them on your own, add ```-h``` or ```--help``` argument to know more details about these scripts.** +**You are encouraged to try them on your own, add ```-h``` or ```--help``` argument to know more details about these +scripts.** ### Convert @@ -45,31 +46,42 @@ python -m scenarionet.scripts.convert_pg -d pg --num_workers=16 --num_scenarios= ``` ### Merge & move + For merging two or more database, use + ``` -python -m scenarionet.merge_database -d /destination/path --from_databases /database1 /2 ... +python -m scenarionet.merge_database -d /destination/path --from /database1 /2 ... ``` + As a database contains a path mapping, one should move database folder with the following script instead of ```cp``` -command +command. +Using ```--copy_raw_data``` will copy the raw scenario file into target directory and cancel the virtual mapping. + ``` -python -m scenarionet.move_database --to /destination/path --from /source/path +python -m scenarionet.copy_database --to /destination/path --from /source/path ``` ### Verify + The following scripts will check whether all scenarios exist or can be loaded into simulator. -The missing or broken scenarios will be recorded and stored into the error file. Otherwise, no error file will be -generated. +The missing or broken scenarios will be recorded and stored into the error file. Otherwise, no error file will be +generated. With teh error file, one can build a new database excluding or including the broken or missing scenarios. **Existence check** + ``` -python -m scenarionet.verify_existence -d /database/to/check --error_file_path /error/file/path +python -m scenarionet.check_existence -d /database/to/check --error_file_path /error/file/path ``` + **Runnable check** + ``` -python -m scenarionet.verify_simulation -d /database/to/check --error_file_path /error/file/path +python -m scenarionet.check_simulation -d /database/to/check --error_file_path /error/file/path ``` + **Generating new database** + ``` python -m scenarionet.generate_from_error_file -d /new/database/path --file /error/file/path ``` @@ -77,6 +89,7 @@ python -m scenarionet.generate_from_error_file -d /new/database/path --file /err ### visualization Visualizing the simulated scenario + ``` python -m scenarionet.run_simulation -d /path/to/database --render --scenario_index ``` diff --git a/scenarionet/builder/filters.py b/scenarionet/builder/filters.py index a292c78..6b89991 100644 --- a/scenarionet/builder/filters.py +++ b/scenarionet/builder/filters.py @@ -1,6 +1,8 @@ from functools import partial +import numpy as np from metadrive.scenario.scenario_description import ScenarioDescription as SD +from metadrive.scenario.utils import read_scenario_data class ScenarioFilter: @@ -8,7 +10,7 @@ class ScenarioFilter: SMALLER = "smaller" @staticmethod - def sdc_moving_dist(metadata, target_dist, condition=GREATER): + def sdc_moving_dist(metadata, file_path, target_dist, condition=GREATER): """ This function filters the scenario based on SDC information. """ @@ -22,10 +24,11 @@ class ScenarioFilter: return False @staticmethod - def object_number(metadata, number_threshold, object_type=None, condition=SMALLER): + def object_number(metadata, file_path, number_threshold, object_type=None, condition=SMALLER): """ Return True if the scenario satisfying the object number condition :param metadata: metadata in each scenario + :param file_path: where to find this scenario :param number_threshold: number of objects threshold :param object_type: MetaDriveType.VEHICLE or other object type. If none, calculate number for all object types :param condition: SMALLER or GREATER @@ -43,9 +46,33 @@ class ScenarioFilter: return False @staticmethod - def has_traffic_light(metadata): + def has_traffic_light(metadata, file_path): return metadata[SD.SUMMARY.NUMBER_SUMMARY][SD.SUMMARY.NUM_TRAFFIC_LIGHTS] > 0 + @staticmethod + def no_traffic_light(metadata, file_path): + return metadata[SD.SUMMARY.NUMBER_SUMMARY][SD.SUMMARY.NUM_TRAFFIC_LIGHTS] == 0 + + @staticmethod + def no_overpass(metadata, file_path): + """ + We need read the map data to do overpass filter + """ + max_height_diff = 5 + if SD.SUMMARY.MAP_HEIGHT_DIFF in metadata: + return metadata[SD.SUMMARY.MAP_HEIGHT_DIFF] < max_height_diff + else: + # calculate online + map_features = read_scenario_data(file_path)[SD.MAP_FEATURES] + return abs(SD.map_height_diff(map_features, target=max_height_diff)) < max_height_diff + + @staticmethod + def id_filter(metadata, file_path, ids): + for id in ids: + if metadata["id"] in id: + return False + return True + @staticmethod def make(func, **kwargs): """ diff --git a/scenarionet/builder/utils.py b/scenarionet/builder/utils.py index 9d002fe..041bfd4 100644 --- a/scenarionet/builder/utils.py +++ b/scenarionet/builder/utils.py @@ -1,4 +1,6 @@ import copy +from random import sample +from metadrive.scenario.utils import read_dataset_summary import logging import os import os.path as osp @@ -27,21 +29,23 @@ def try_generating_summary(file_folder): def merge_database( - output_path, - *dataset_paths, - exist_ok=False, - overwrite=False, - try_generate_missing_file=True, - filters: List[Callable] = None + output_path, + *dataset_paths, + exist_ok=False, + overwrite=False, + try_generate_missing_file=True, + filters: List[Callable] = None, + save=True, ): """ - Combine multiple datasets. Each dataset should have a dataset_summary.pkl - :param output_path: The path to store the output dataset + Combine multiple datasets. Each database should have a dataset_summary.pkl + :param output_path: The path to store the output database :param exist_ok: If True, though the output_path already exist, still write into it :param overwrite: If True, overwrite existing dataset_summary.pkl and mapping.pkl. Otherwise, raise error :param try_generate_missing_file: If dataset_summary.pkl and mapping.pkl are missing, whether to try generating them - :param dataset_paths: Path of each dataset - :param filters: a set of filters to choose which scenario to be selected and added into this combined dataset + :param dataset_paths: Path of each database + :param filters: a set of filters to choose which scenario to be selected and added into this combined database + :param save: save to output path, immediately :return: summary, mapping """ filters = filters or [] @@ -60,15 +64,15 @@ def merge_database( mappings = {} # collect - for dataset_path in tqdm.tqdm(dataset_paths): + for dataset_path in tqdm.tqdm(dataset_paths, desc="Merge Data"): abs_dir_path = osp.abspath(dataset_path) # summary - assert osp.exists(abs_dir_path), "Wrong dataset path. Can not find dataset at: {}".format(abs_dir_path) + assert osp.exists(abs_dir_path), "Wrong database path. Can not find database at: {}".format(abs_dir_path) if not osp.exists(osp.join(abs_dir_path, ScenarioDescription.DATASET.SUMMARY_FILE)): if try_generate_missing_file: summary = try_generating_summary(abs_dir_path) else: - raise FileNotFoundError("Can not find summary file for dataset: {}".format(abs_dir_path)) + raise FileNotFoundError("Can not find summary file for database: {}".format(abs_dir_path)) else: with open(osp.join(abs_dir_path, ScenarioDescription.DATASET.SUMMARY_FILE), "rb+") as f: summary = pickle.load(f) @@ -85,7 +89,7 @@ def merge_database( if try_generate_missing_file: mapping = {k: "" for k in summary} else: - raise FileNotFoundError("Can not find mapping file for dataset: {}".format(abs_dir_path)) + raise FileNotFoundError("Can not find mapping file for database: {}".format(abs_dir_path)) else: with open(osp.join(abs_dir_path, ScenarioDescription.DATASET.MAPPING_FILE), "rb+") as f: mapping = pickle.load(f) @@ -98,37 +102,108 @@ def merge_database( # apply filter stage file_to_pop = [] - for file_name, metadata, in summaries.items(): - if not all([fil(metadata) for fil in filters]): + for file_name in tqdm.tqdm(summaries.keys(), desc="Filter Scenarios"): + metadata = summaries[file_name] + if not all([fil(metadata, os.path.join(output_abs_path, mappings[file_name], file_name)) for fil in filters]): file_to_pop.append(file_name) for file in file_to_pop: summaries.pop(file) mappings.pop(file) - - save_summary_anda_mapping(summary_file, mapping_file, summaries, mappings) + if save: + save_summary_anda_mapping(summary_file, mapping_file, summaries, mappings) return summaries, mappings -def move_database( - from_path, - to_path, - exist_ok=False, - overwrite=False, +def copy_database( + from_path, + to_path, + exist_ok=False, + overwrite=False, + copy_raw_data=False, + remove_source=False ): if not os.path.exists(from_path): - raise FileNotFoundError("Can not find dataset: {}".format(from_path)) + raise FileNotFoundError("Can not find database: {}".format(from_path)) if os.path.exists(to_path): - assert exist_ok, "to_directory already exists. Set exists_ok to allow turning it into a dataset" + assert exist_ok, "to_directory already exists. Set exists_ok to allow turning it into a database" assert not os.path.samefile(from_path, to_path), "to_directory is the same as from_directory. Abort!" - merge_database( + files = os.listdir(from_path) + if ScenarioDescription.DATASET.MAPPING_FILE in files and ScenarioDescription.DATASET.SUMMARY_FILE in files and len( + files) > 2: + raise RuntimeError("The source database is not allowed to move! " + "This will break the relationship between this database and other database built on it." + "If it is ok for you, use 'mv' to move it manually ") + + summaries, mappings = merge_database( to_path, from_path, exist_ok=exist_ok, overwrite=overwrite, try_generate_missing_file=True, + save=False ) - files = os.listdir(from_path) - if ScenarioDescription.DATASET.MAPPING_FILE in files and ScenarioDescription.DATASET.SUMMARY_FILE in files and len( - files) == 2: + summary_file = osp.join(to_path, ScenarioDescription.DATASET.SUMMARY_FILE) + mapping_file = osp.join(to_path, ScenarioDescription.DATASET.MAPPING_FILE) + + if copy_raw_data: + logger.info("Copy raw data...") + for scenario_file in tqdm.tqdm(mappings.keys()): + rel_path = mappings[scenario_file] + shutil.copyfile(os.path.join(to_path, rel_path, scenario_file), os.path.join(to_path, scenario_file)) + mappings = {key: "./" for key in summaries.keys()} + save_summary_anda_mapping(summary_file, mapping_file, summaries, mappings) + + if remove_source and ScenarioDescription.DATASET.MAPPING_FILE in files and \ + ScenarioDescription.DATASET.SUMMARY_FILE in files and len(files) == 2: shutil.rmtree(from_path) + + +def split_database( + from_path, + to_path, + start_index, + num_scenarios, + exist_ok=False, + overwrite=False, + random=False, +): + if not os.path.exists(from_path): + raise FileNotFoundError("Can not find database: {}".format(from_path)) + if os.path.exists(to_path): + assert exist_ok, "to_directory already exists. Set exists_ok to allow turning it into a database" + assert not os.path.samefile(from_path, to_path), "to_directory is the same as from_directory. Abort!" + overwrite = overwrite, + output_abs_path = osp.abspath(to_path) + os.makedirs(output_abs_path, exist_ok=exist_ok) + summary_file = osp.join(output_abs_path, ScenarioDescription.DATASET.SUMMARY_FILE) + mapping_file = osp.join(output_abs_path, ScenarioDescription.DATASET.MAPPING_FILE) + for file in [summary_file, mapping_file]: + if os.path.exists(file): + if overwrite: + os.remove(file) + else: + raise FileExistsError("{} already exists at: {}!".format(file, output_abs_path)) + + # collect + abs_dir_path = osp.abspath(from_path) + # summary + assert osp.exists(abs_dir_path), "Wrong database path. Can not find database at: {}".format(abs_dir_path) + summaries, lookup, mappings = read_dataset_summary(from_path) + assert start_index >= 0 and start_index + num_scenarios <= len( + lookup), "No enough scenarios in source dataset: total {}, start_index: {}, need: {}".format(len(lookup), + start_index, + num_scenarios) + if random: + selected = sample(lookup[start_index:], k=num_scenarios) + else: + selected = lookup[start_index: start_index + num_scenarios] + selected_summary = {} + selected_mapping = {} + for scenario in selected: + selected_summary[scenario] = summaries[scenario] + selected_mapping[scenario] = os.path.relpath(osp.join(abs_dir_path, mappings[scenario]), output_abs_path) + + save_summary_anda_mapping(summary_file, mapping_file, selected_summary, selected_mapping) + + return summaries, mappings diff --git a/scenarionet/verify_existence.py b/scenarionet/check_existence.py similarity index 100% rename from scenarionet/verify_existence.py rename to scenarionet/check_existence.py diff --git a/scenarionet/check_overlap.py b/scenarionet/check_overlap.py new file mode 100644 index 0000000..5c74cf7 --- /dev/null +++ b/scenarionet/check_overlap.py @@ -0,0 +1,22 @@ +""" +Check If any overlap between two database +""" + +import argparse + +from scenarionet.common_utils import read_dataset_summary + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--database_1', type=str, required=True, help="The path of the first database") + parser.add_argument('--database_2', type=str, required=True, help="The path of the second database") + args = parser.parse_args() + + summary_1, _, _ = read_dataset_summary(args.database_1) + summary_2, _, _ = read_dataset_summary(args.database_2) + + intersection = set(summary_1.keys()).intersection(set(summary_2.keys())) + if len(intersection) == 0: + print("No overlapping in two database!") + else: + print("Find overlapped scenarios: {}".format(intersection)) diff --git a/scenarionet/verify_simulation.py b/scenarionet/check_simulation.py similarity index 100% rename from scenarionet/verify_simulation.py rename to scenarionet/check_simulation.py diff --git a/scenarionet/convert_waymo.py b/scenarionet/convert_waymo.py index 99c589d..afedb76 100644 --- a/scenarionet/convert_waymo.py +++ b/scenarionet/convert_waymo.py @@ -1,4 +1,5 @@ import pkg_resources # for suppress warning +import shutil import argparse import logging import os @@ -28,6 +29,20 @@ if __name__ == '__main__': default=os.path.join(SCENARIONET_REPO_PATH, "waymo_origin"), help="The directory stores all waymo tfrecord" ) + parser.add_argument( + "--start_file_index", + default=0, + type=int, + help="Control how many files to use. We will list all files in the raw data folder " + "and select files[start_file_index: start_file_index+num_files]" + ) + parser.add_argument( + "--num_files", + default=1000, + type=int, + help="Control how many files to use. We will list all files in the raw data folder " + "and select files[start_file_index: start_file_index+num_files]" + ) args = parser.parse_args() overwrite = args.overwrite @@ -35,8 +50,19 @@ if __name__ == '__main__': output_path = args.database_path version = args.version + save_path = output_path + if os.path.exists(output_path): + if not overwrite: + raise ValueError( + "Directory {} already exists! Abort. " + "\n Try setting overwrite=True or adding --overwrite".format(output_path) + ) + else: + shutil.rmtree(output_path) + waymo_data_directory = os.path.join(SCENARIONET_DATASET_PATH, args.raw_data_path) - scenarios = get_waymo_scenarios(waymo_data_directory) + scenarios = get_waymo_scenarios(waymo_data_directory, args.start_file_index, args.num_files, + num_workers=8) # do not use too much worker to read data write_to_directory( convert_func=convert_waymo_scenario, diff --git a/scenarionet/converter/nuplan/utils.py b/scenarionet/converter/nuplan/utils.py index 85f04e5..ccf1ed5 100644 --- a/scenarionet/converter/nuplan/utils.py +++ b/scenarionet/converter/nuplan/utils.py @@ -357,9 +357,9 @@ def extract_traffic(scenario: NuPlanScenario, center): type=MetaDriveType.UNSET, state=dict( position=np.zeros(shape=(episode_len, 3)), - heading=np.zeros(shape=(episode_len, )), + heading=np.zeros(shape=(episode_len,)), velocity=np.zeros(shape=(episode_len, 2)), - valid=np.zeros(shape=(episode_len, )), + valid=np.zeros(shape=(episode_len,)), length=np.zeros(shape=(episode_len, 1)), width=np.zeros(shape=(episode_len, 1)), height=np.zeros(shape=(episode_len, 1)) @@ -490,3 +490,84 @@ example_scenario_types = "[behind_pedestrian_on_pickup_dropoff, \ starting_unprotected_cross_turn, \ starting_protected_noncross_turn, \ on_pickup_dropoff]" + +# - accelerating_at_crosswalk +# - accelerating_at_stop_sign +# - accelerating_at_stop_sign_no_crosswalk +# - accelerating_at_traffic_light +# - accelerating_at_traffic_light_with_lead +# - accelerating_at_traffic_light_without_lead +# - behind_bike +# - behind_long_vehicle +# - behind_pedestrian_on_driveable +# - behind_pedestrian_on_pickup_dropoff +# - changing_lane +# - changing_lane_to_left +# - changing_lane_to_right +# - changing_lane_with_lead +# - changing_lane_with_trail +# - crossed_by_bike +# - crossed_by_vehicle +# - following_lane_with_lead +# - following_lane_with_slow_lead +# - following_lane_without_lead +# - high_lateral_acceleration +# - high_magnitude_jerk +# - high_magnitude_speed +# - low_magnitude_speed +# - medium_magnitude_speed +# - near_barrier_on_driveable +# - near_construction_zone_sign +# - near_high_speed_vehicle +# - near_long_vehicle +# - near_multiple_bikes +# - near_multiple_pedestrians +# - near_multiple_vehicles +# - near_pedestrian_at_pickup_dropoff +# - near_pedestrian_on_crosswalk +# - near_pedestrian_on_crosswalk_with_ego +# - near_trafficcone_on_driveable +# - on_all_way_stop_intersection +# - on_carpark +# - on_intersection +# - on_pickup_dropoff +# - on_stopline_crosswalk +# - on_stopline_stop_sign +# - on_stopline_traffic_light +# - on_traffic_light_intersection +# - starting_high_speed_turn +# - starting_left_turn +# - starting_low_speed_turn +# - starting_protected_cross_turn +# - starting_protected_noncross_turn +# - starting_right_turn +# - starting_straight_stop_sign_intersection_traversal +# - starting_straight_traffic_light_intersection_traversal +# - starting_u_turn +# - starting_unprotected_cross_turn +# - starting_unprotected_noncross_turn +# - stationary +# - stationary_at_crosswalk +# - stationary_at_traffic_light_with_lead +# - stationary_at_traffic_light_without_lead +# - stationary_in_traffic +# - stopping_at_crosswalk +# - stopping_at_stop_sign_no_crosswalk +# - stopping_at_stop_sign_with_lead +# - stopping_at_stop_sign_without_lead +# - stopping_at_traffic_light_with_lead +# - stopping_at_traffic_light_without_lead +# - stopping_with_lead +# - traversing_crosswalk +# - traversing_intersection +# - traversing_narrow_lane +# - traversing_pickup_dropoff +# - traversing_traffic_light_intersection +# - waiting_for_pedestrian_to_cross +# + +all_scenario_types = "[near_pedestrian_on_crosswalk_with_ego," \ + "near_trafficcone_on_driveable, " \ + "following_lane_with_lead, " \ + "following_lane_with_slow_lead, " \ + "following_lane_without_lead]" diff --git a/scenarionet/converter/waymo/utils.py b/scenarionet/converter/waymo/utils.py index 9096552..c2250e4 100644 --- a/scenarionet/converter/waymo/utils.py +++ b/scenarionet/converter/waymo/utils.py @@ -3,6 +3,8 @@ import multiprocessing import os import pickle +import tqdm + from scenarionet.converter.utils import mph_to_kmh from scenarionet.converter.waymo.type import WaymoLaneType, WaymoAgentType, WaymoRoadLineType, WaymoRoadEdgeType @@ -418,13 +420,20 @@ def convert_waymo_scenario(scenario, version): } for count, id in enumerate(track_id) } + # clean memory + del scenario + scenario = None return md_scenario -def get_waymo_scenarios(waymo_data_directory, num_workers=8): +def get_waymo_scenarios(waymo_data_directory, start_index, num, num_workers=8): # parse raw data from input path to output path, # there is 1000 raw data in google cloud, each of them produce about 500 pkl file + logger.info("\n Reading raw data") file_list = os.listdir(waymo_data_directory) + assert len(file_list) >= start_index + num and start_index >= 0, \ + "No sufficient files ({}) in raw_data_directory. need: {}, start: {}".format(len(file_list), num, start_index) + file_list = file_list[start_index: start_index + num] num_files = len(file_list) if num_files < num_workers: # single process @@ -441,23 +450,29 @@ def get_waymo_scenarios(waymo_data_directory, num_workers=8): argument_list.append([waymo_data_directory, file_list[i * num_files_each_worker:end_idx]]) # Run, workers and process result from worker - with multiprocessing.Pool(num_workers) as p: - all_result = list(p.imap(read_from_files, argument_list)) - ret = [] - - # get result - for r in all_result: - if len(r) == 0: - logger.warning("0 scenarios found") - ret += r - logger.info("\n Find {} waymo scenarios from {} files".format(len(ret), num_files)) - return ret + # with multiprocessing.Pool(num_workers) as p: + # all_result = list(p.imap(read_from_files, argument_list)) + # Disable multiprocessing read + all_result = read_from_files([waymo_data_directory, file_list]) + # ret = [] + # + # # get result + # for r in all_result: + # if len(r) == 0: + # logger.warning("0 scenarios found") + # ret += r + logger.info("\n Find {} waymo scenarios from {} files".format(len(all_result), num_files)) + return all_result def read_from_files(arg): + try: + scenario_pb2 + except NameError: + raise ImportError("Please install waymo_open_dataset package: pip install waymo-open-dataset-tf-2-11-0==1.5.0") waymo_data_directory, file_list = arg[0], arg[1] scenarios = [] - for file_count, file in enumerate(file_list): + for file in tqdm.tqdm(file_list): file_path = os.path.join(waymo_data_directory, file) if ("tfrecord" not in file_path) or (not os.path.isfile(file_path)): continue diff --git a/scenarionet/copy_database.py b/scenarionet/copy_database.py new file mode 100644 index 0000000..758e18e --- /dev/null +++ b/scenarionet/copy_database.py @@ -0,0 +1,47 @@ +import argparse + +from scenarionet.builder.utils import copy_database + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--from', required=True, help="Which database to move.") + parser.add_argument( + "--to", + required=True, + help="The name of the new database. " + "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " + "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " + "that directory into a database." + ) + parser.add_argument( + "--remove_source", + action="store_true", + help="Remove the `from_database` if set this flag" + ) + parser.add_argument( + "--copy_raw_data", + action="store_true", + help="Instead of creating virtual file mapping, copy raw scenario.pkl file" + ) + parser.add_argument( + "--exist_ok", + action="store_true", + help="Still allow to write, if the to_folder exists already. " + "This write will only create two .pkl files and this directory will become a database." + ) + parser.add_argument( + "--overwrite", + action="store_true", + help="When exists ok is set but summary.pkl and map.pkl exists in existing dir, " + "whether to overwrite both files" + ) + args = parser.parse_args() + from_path = args.__getattribute__("from") + copy_database( + from_path, + args.to, + exist_ok=args.exist_ok, + overwrite=args.overwrite, + copy_raw_data=args.copy_raw_data, + remove_source=args.remove_source + ) diff --git a/scenarionet/filter_database.py b/scenarionet/filter_database.py new file mode 100644 index 0000000..619741a --- /dev/null +++ b/scenarionet/filter_database.py @@ -0,0 +1,111 @@ +import argparse + +from scenarionet.builder.filters import ScenarioFilter +from scenarionet.builder.utils import merge_database + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument( + "--database_path", + "-d", + required=True, + help="The name of the new database. " + "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " + "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " + "that directory into a database." + ) + parser.add_argument( + '--from', + required=True, + type=str, + help="Which dataset to filter. It takes one directory path as input" + ) + parser.add_argument( + "--exist_ok", + action="store_true", + help="Still allow to write, if the dir exists already. " + "This write will only create two .pkl files and this directory will become a database." + ) + parser.add_argument( + "--overwrite", + action="store_true", + help="When exists ok is set but summary.pkl and map.pkl exists in existing dir, " + "whether to overwrite both files" + ) + parser.add_argument( + "--moving_dist", + action="store_true", + help="add this flag to select cases with SDC moving dist > sdc_moving_dist_min" + ) + parser.add_argument( + "--sdc_moving_dist_min", + default=10, + type=float, + help="Selecting case with sdc_moving_dist > this value. " + ) + + parser.add_argument( + "--num_object", + action="store_true", + help="add this flag to select cases with object_num < max_num_object" + ) + parser.add_argument( + "--max_num_object", + default=30, + type=float, + help="case will be selected if num_obj < this argument" + ) + + parser.add_argument( + "--no_overpass", + action="store_true", + help="Scenarios with overpass WON'T be selected" + ) + + parser.add_argument( + "--no_traffic_light", + action="store_true", + help="Scenarios with traffic light WON'T be selected" + ) + + parser.add_argument( + "--id_filter", + action="store_true", + help="Scenarios with indicated name will NOT be selected" + ) + + parser.add_argument( + "--exclude_ids", + nargs='+', + default=[], + help="Scenarios with indicated name will NOT be selected" + ) + + args = parser.parse_args() + target = args.sdc_moving_dist_min + obj_threshold = args.max_num_object + from_path = args.__getattribute__("from") + + filters = [] + if args.no_overpass: + filters.append(ScenarioFilter.make(ScenarioFilter.no_overpass)) + if args.num_object: + filters.append(ScenarioFilter.make(ScenarioFilter.object_number, number_threshold=obj_threshold)) + if args.moving_dist: + filters.append(ScenarioFilter.make(ScenarioFilter.sdc_moving_dist, target_dist=target, condition="greater")) + if args.no_traffic_light: + filters.append(ScenarioFilter.make(ScenarioFilter.no_traffic_light)) + if args.id_filter: + filters.append(ScenarioFilter.make(ScenarioFilter.id_filter, ids=args.exclude_ids)) + + if len(filters) == 0: + raise ValueError("No filters are applied. Abort.") + + merge_database( + args.database_path, + from_path, + exist_ok=args.exist_ok, + overwrite=args.overwrite, + try_generate_missing_file=True, + filters=filters + ) diff --git a/scenarionet/generate_from_error_file.py b/scenarionet/generate_from_error_file.py index 5897f24..a254db9 100644 --- a/scenarionet/generate_from_error_file.py +++ b/scenarionet/generate_from_error_file.py @@ -5,14 +5,14 @@ from scenarionet.verifier.error import ErrorFile if __name__ == '__main__': parser = argparse.ArgumentParser() - parser.add_argument("--database_path", "-d", required=True, help="The path of the newly generated dataset") + parser.add_argument("--database_path", "-d", required=True, help="The path of the newly generated database") parser.add_argument("--file", "-f", required=True, help="The path of the error file, should be xyz.json") parser.add_argument("--overwrite", action="store_true", help="If the database_path exists, overwrite it") parser.add_argument( "--broken", action="store_true", - help="By default, only successful scenarios will be picked to build the new dataset. " - "If turn on this flog, it will generate dataset containing only broken scenarios." + help="By default, only successful scenarios will be picked to build the new database. " + "If turn on this flog, it will generate database containing only broken scenarios." ) args = parser.parse_args() ErrorFile.generate_dataset(args.file, args.database_path, args.overwrite, args.broken) diff --git a/scenarionet/merge_database.py b/scenarionet/merge_database.py index be23d5c..fd43799 100644 --- a/scenarionet/merge_database.py +++ b/scenarionet/merge_database.py @@ -1,5 +1,5 @@ -import pkg_resources # for suppress warning import argparse + from scenarionet.builder.filters import ScenarioFilter from scenarionet.builder.utils import merge_database @@ -9,13 +9,13 @@ if __name__ == '__main__': "--database_path", "-d", required=True, - help="The name of the new combined dataset. " - "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " - "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " - "that directory into a dataset." + help="The name of the new combined database. " + "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " + "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " + "that directory into a database." ) parser.add_argument( - '--from_datasets', + '--from', required=True, nargs='+', default=[], @@ -25,32 +25,38 @@ if __name__ == '__main__': "--exist_ok", action="store_true", help="Still allow to write, if the dir exists already. " - "This write will only create two .pkl files and this directory will become a dataset." + "This write will only create two .pkl files and this directory will become a database." ) parser.add_argument( "--overwrite", action="store_true", help="When exists ok is set but summary.pkl and map.pkl exists in existing dir, " - "whether to overwrite both files" + "whether to overwrite both files" + ) + parser.add_argument( + "--filter_moving_dist", + action="store_true", + help="add this flag to select cases with SDC moving dist > sdc_moving_dist_min" ) parser.add_argument( "--sdc_moving_dist_min", - default=20, + default=5, + type=float, help="Selecting case with sdc_moving_dist > this value. " - "We will add more filter conditions in the future." + "We will add more filter conditions in the future." ) args = parser.parse_args() target = args.sdc_moving_dist_min filters = [ScenarioFilter.make(ScenarioFilter.sdc_moving_dist, target_dist=target, condition="greater")] - - if len(args.from_datasets) != 0: + source = args.__getattribute__("from") + if len(source) != 0: merge_database( args.database_path, - *args.from_datasets, + *source, exist_ok=args.exist_ok, overwrite=args.overwrite, try_generate_missing_file=True, - filters=filters + filters=filters if args.filter_moving_dist else [] ) else: - raise ValueError("No source dataset are provided. Abort.") + raise ValueError("No source database are provided. Abort.") diff --git a/scenarionet/move_database.py b/scenarionet/move_database.py deleted file mode 100644 index d32ca78..0000000 --- a/scenarionet/move_database.py +++ /dev/null @@ -1,35 +0,0 @@ -import argparse - -from scenarionet.builder.utils import move_database - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('--from', required=True, help="Which dataset to move.") - parser.add_argument( - "--to", - required=True, - help="The name of the new dataset. " - "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " - "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " - "that directory into a dataset." - ) - parser.add_argument( - "--exist_ok", - action="store_true", - help="Still allow to write, if the to_folder exists already. " - "This write will only create two .pkl files and this directory will become a dataset." - ) - parser.add_argument( - "--overwrite", - action="store_true", - help="When exists ok is set but summary.pkl and map.pkl exists in existing dir, " - "whether to overwrite both files" - ) - args = parser.parse_args() - from_path = args.__getattr__("from") - move_database( - from_path, - args.to, - exist_ok=args.exist_ok, - overwrite=args.overwrite, - ) diff --git a/scenarionet/num_scenarios.py b/scenarionet/num_scenarios.py new file mode 100644 index 0000000..162b2cd --- /dev/null +++ b/scenarionet/num_scenarios.py @@ -0,0 +1,18 @@ +import pkg_resources # for suppress warning +import argparse +import logging +from scenarionet.common_utils import read_dataset_summary + +logger = logging.getLogger(__file__) + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument( + "--database_path", + "-d", + required=True, + help="Database to check number of scenarios" + ) + args = parser.parse_args() + summary, _, _, = read_dataset_summary(args.database_path) + logger.info("Number of scenarios: {}".format(len(summary))) diff --git a/scenarionet/run_simulation.py b/scenarionet/run_simulation.py index 65bb13f..aff6d1f 100644 --- a/scenarionet/run_simulation.py +++ b/scenarionet/run_simulation.py @@ -7,7 +7,7 @@ from metadrive.scenario.utils import get_number_of_scenarios if __name__ == '__main__': parser = argparse.ArgumentParser() - parser.add_argument("--database_path", "-d", required=True, help="The path of the dataset") + parser.add_argument("--database_path", "-d", required=True, help="The path of the database") parser.add_argument("--render", action="store_true", help="Enable 3D rendering") parser.add_argument("--scenario_index", default=None, type=int, help="Specifying a scenario to run") args = parser.parse_args() @@ -38,13 +38,13 @@ if __name__ == '__main__': "data_directory": database_path, } ) - for seed in range(num_scenario if args.scenario_index is not None else 1000000): - env.reset(force_seed=seed if args.scenario_index is None else args.scenario_index) + for index in range(num_scenario if args.scenario_index is not None else 1000000): + env.reset(force_seed=index if args.scenario_index is None else args.scenario_index) for t in range(10000): o, r, d, info = env.step([0, 0]) if env.config["use_render"]: env.render(text={ - "seed": env.engine.global_seed + env.config["start_scenario_index"], + "scenario index": env.engine.global_seed + env.config["start_scenario_index"], }) if d and info["arrive_dest"]: diff --git a/scenarionet/split_database.py b/scenarionet/split_database.py new file mode 100644 index 0000000..04420f7 --- /dev/null +++ b/scenarionet/split_database.py @@ -0,0 +1,47 @@ +""" +This script is for extracting a subset of data from an existing database +""" +import pkg_resources # for suppress warning +import argparse + +from scenarionet.builder.utils import split_database + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--from', required=True, help="Which database to extract data from.") + parser.add_argument( + "--to", + required=True, + help="The name of the new database. " + "It will create a new directory to store dataset_summary.pkl and dataset_mapping.pkl. " + "If exists_ok=True, those two .pkl files will be stored in an existing directory and turn " + "that directory into a database." + ) + parser.add_argument("--num_scenarios", type=int, default=64, help="how many scenarios to extract (default: 30)") + parser.add_argument("--start_index", type=int, default=0, help="which index to start") + parser.add_argument("--random", action="store_true", help="If set to true, it will choose scenarios randomly " + "from all_scenarios[start_index:]. " + "Otherwise, the scenarios will be selected sequentially") + parser.add_argument( + "--exist_ok", + action="store_true", + help="Still allow to write, if the to_folder exists already. " + "This write will only create two .pkl files and this directory will become a database." + ) + parser.add_argument( + "--overwrite", + action="store_true", + help="When exists ok is set but summary.pkl and map.pkl exists in existing dir, " + "whether to overwrite both files" + ) + args = parser.parse_args() + from_path = args.__getattribute__("from") + split_database( + from_path, + args.to, + args.start_index, + args.num_scenarios, + exist_ok=args.exist_ok, + overwrite=args.overwrite, + random=args.random + ) diff --git a/scenarionet/tests/local_test/combine_verify_generate.sh b/scenarionet/tests/local_test/combine_verify_generate.sh index 3e4ad08..a6f82fa 100644 --- a/scenarionet/tests/local_test/combine_verify_generate.sh +++ b/scenarionet/tests/local_test/combine_verify_generate.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -python ../../merge_database.py --overwrite --exist_ok --database_path ../tmp/test_combine_dataset --from_datasets ../../../dataset/waymo ../../../dataset/pg ../../../dataset/nuscenes ../../../dataset/nuplan --overwrite -python ../../verify_simulation.py --overwrite --database_path ../tmp/test_combine_dataset --error_file_path ../tmp/test_combine_dataset --random_drop --num_workers=16 +python ../../merge_database.py --overwrite --exist_ok --database_path ../tmp/test_combine_dataset --from ../../../dataset/waymo ../../../dataset/pg ../../../dataset/nuscenes ../../../dataset/nuplan --overwrite +python ../../check_simulation.py --overwrite --database_path ../tmp/test_combine_dataset --error_file_path ../tmp/test_combine_dataset --random_drop --num_workers=16 python ../../generate_from_error_file.py --file ../tmp/test_combine_dataset/error_scenarios_for_test_combine_dataset.json --overwrite --database_path ../tmp/verify_pass python ../../generate_from_error_file.py --file ../tmp/test_combine_dataset/error_scenarios_for_test_combine_dataset.json --overwrite --database_path ../tmp/verify_fail --broken \ No newline at end of file diff --git a/scenarionet/tests/local_test/convert_pg_large.sh b/scenarionet/tests/local_test/convert_pg_large.sh index 8e65e6b..58eaa79 100644 --- a/scenarionet/tests/local_test/convert_pg_large.sh +++ b/scenarionet/tests/local_test/convert_pg_large.sh @@ -32,8 +32,8 @@ done # combine the datasets if [ "$overwrite" = true ]; then - python -m scenarionet.scripts.merge_database --database_path $dataset_path --from_datasets $(for i in $(seq 0 $((num_sub_dataset-1))); do echo -n "${dataset_path}/pg_$i "; done) --overwrite --exist_ok + python -m scenarionet.scripts.merge_database --database_path $dataset_path --from $(for i in $(seq 0 $((num_sub_dataset-1))); do echo -n "${dataset_path}/pg_$i "; done) --overwrite --exist_ok else - python -m scenarionet.scripts.merge_database --database_path $dataset_path --from_datasets $(for i in $(seq 0 $((num_sub_dataset-1))); do echo -n "${dataset_path}/pg_$i "; done) --exist_ok + python -m scenarionet.scripts.merge_database --database_path $dataset_path --from $(for i in $(seq 0 $((num_sub_dataset-1))); do echo -n "${dataset_path}/pg_$i "; done) --exist_ok fi diff --git a/scenarionet/tests/script/capture_pg.py b/scenarionet/tests/script/capture_pg.py new file mode 100644 index 0000000..1bf1313 --- /dev/null +++ b/scenarionet/tests/script/capture_pg.py @@ -0,0 +1,119 @@ +import pygame +from metadrive.envs.metadrive_env import MetaDriveEnv +from metadrive.utils import setup_logger + +if __name__ == "__main__": + setup_logger(True) + env = MetaDriveEnv( + { + "num_scenarios": 1, + "traffic_density": 0.15, + "traffic_mode": "hybrid", + "start_seed": 74, + # "_disable_detector_mask":True, + # "debug_physics_world": True, + # "debug": True, + # "global_light": False, + # "debug_static_world": True, + "show_interface": False, + "cull_scene": False, + "random_spawn_lane_index": False, + "random_lane_width": False, + # "image_observation": True, + # "controller": "joystick", + # "show_coordinates": True, + "random_agent_model": False, + "manual_control": True, + "use_render": True, + "accident_prob": 1, + "decision_repeat": 5, + "interface_panel": [], + "need_inverse_traffic": False, + "rgb_clip": True, + "map": 2, + # "agent_policy": ExpertPolicy, + "random_traffic": False, + # "random_lane_width": True, + "driving_reward": 1.0, + # "pstats": True, + "force_destroy": False, + # "show_skybox": False, + "show_fps": False, + "render_pipeline": True, + # "camera_dist": 8, + "window_size": (1600, 900), + "camera_dist": 9, + # "camera_pitch": 30, + # "camera_height": 1, + # "camera_smooth": False, + # "camera_height": -1, + "vehicle_config": { + "enable_reverse": False, + # "vehicle_model": "xl", + # "rgb_camera": (1024, 1024), + # "spawn_velocity": [8.728615581032535, -0.24411703918728195], + "spawn_velocity_car_frame": True, + # "image_source": "depth_camera", + # "random_color": True + # "show_lidar": True, + "spawn_lane_index": None, + # "destination":"2R1_3_", + # "show_side_detector": True, + # "show_lane_line_detector": True, + # "side_detector": dict(num_lasers=2, distance=50), + # "lane_line_detector": dict(num_lasers=2, distance=50), + # "show_line_to_navi_mark": True, + "show_navi_mark": False, + # "show_dest_mark": True + }, + } + ) + + o = env.reset() + + + def capture(): + env.capture() + ret = env.render(mode="topdown", screen_size=(1600, 900), film_size=(2000, 2000), track_target_vehicle=True) + pygame.image.save(ret, "top_down_{}.png".format(env.current_seed)) + + env.engine.accept("c", capture) + # env.main_camera.set_follow_lane(True) + # env.vehicle.get_camera("rgb_camera").save_image(env.vehicle) + # for line in env.engine.coordinate_line: + # line.reparentTo(env.vehicle.origin) + # env.vehicle.set_velocity([5, 0], in_local_frame=True) + for s in range(1, 100000): + # env.vehicle.set_velocity([1, 0], in_local_frame=True) + o, r, d, info = env.step([0, 0]) + + # env.vehicle.set_pitch(-np.pi/4) + # [0.09231533, 0.491018, 0.47076905, 0.7691619, 0.5, 0.5, 1.0, 0.0, 0.48037243, 0.8904728, 0.81229943, 0.7317231, 1.0, 0.85320455, 0.9747932, 0.65675277, 0.0, 0.5, 0.5] + # else: + # if s % 100 == 0: + # env.close() + # env.reset() + # info["fuel"] = env.vehicle.energy_consumption + # env.render( + # text={ + # # "heading_diff": env.vehicle.heading_diff(env.vehicle.lane), + # # "lane_width": env.vehicle.lane.width, + # # "lane_index": env.vehicle.lane_index, + # # "lateral": env.vehicle.lane.local_coordinates(env.vehicle.position), + # "current_seed": env.current_seed + # } + # ) + # if d: + # env.reset() + # # assert env.observation_space.contains(o) + # if (s + 1) % 100 == 0: + # # print( + # "Finish {}/10000 simulation steps. Time elapse: {:.4f}. Average FPS: {:.4f}".format( + # s + 1,f + # time.time() - start, (s + 1) / (time.time() - start) + # ) + # ) + # if d: + # # # env.close() + # # # print(len(env.engine._spawned_objects)) + # env.reset() diff --git a/scenarionet/tests/script/compare_data.py b/scenarionet/tests/script/compare_data.py new file mode 100644 index 0000000..a271761 --- /dev/null +++ b/scenarionet/tests/script/compare_data.py @@ -0,0 +1,17 @@ +from metadrive.scenario.scenario_description import ScenarioDescription as SD +from metadrive.scenario.utils import read_scenario_data, read_dataset_summary, assert_scenario_equal +from scenarionet.common_utils import read_scenario + +if __name__ == '__main__': + data_1 = "D:\\code\\scenarionet\\dataset\pg_2000" + data_2 = "C:\\Users\\x1\\Desktop\\remote" + summary_1, lookup_1, mapping_1 = read_dataset_summary(data_1) + summary_2, lookup_2, mapping_2 = read_dataset_summary(data_2) + # assert lookup_1[-10:] == lookup_2 + scenarios_1 = {} + scenarios_2 = {} + + for i in range(9): + scenarios_1[str(i)] = read_scenario(data_1, mapping_1, lookup_1[-9+i]) + scenarios_2[str(i)] = read_scenario(data_2, mapping_2, lookup_2[i]) + # assert_scenario_equal(scenarios_1, scenarios_2, check_self_type=False, only_compare_sdc=True) diff --git a/scenarionet/tests/script/generate_sensor.py b/scenarionet/tests/script/generate_sensor.py new file mode 100644 index 0000000..e4bc506 --- /dev/null +++ b/scenarionet/tests/script/generate_sensor.py @@ -0,0 +1,97 @@ +import time +import pygame +from metadrive.engine.asset_loader import AssetLoader +from metadrive.envs.scenario_env import ScenarioEnv +from metadrive.policy.replay_policy import ReplayEgoCarPolicy + +NuScenesEnv = ScenarioEnv + +if __name__ == "__main__": + env = NuScenesEnv( + { + "use_render": True, + "agent_policy": ReplayEgoCarPolicy, + "show_interface": False, + # "need_lane_localization": False, + "show_logo": False, + "no_traffic": False, + "sequential_seed": True, + "reactive_traffic": False, + "show_fps": False, + # "debug": True, + # "render_pipeline": True, + "daytime": "11:01", + "window_size": (1600, 900), + "camera_dist": 0.8, + "camera_height": 1.5, + "camera_pitch": None, + "camera_fov": 60, + "start_scenario_index": 0, + "num_scenarios": 10, + # "force_reuse_object_name": True, + # "data_directory": "/home/shady/Downloads/test_processed", + "horizon": 1000, + # "no_static_vehicles": True, + # "show_policy_mark": True, + # "show_coordinates": True, + # "force_destroy": True, + # "default_vehicle_in_traffic": True, + "vehicle_config": dict( + # light=True, + # random_color=True, + show_navi_mark=False, + use_special_color=False, + image_source="depth_camera", + rgb_camera=(1600, 900), + depth_camera=(1600, 900, True), + # no_wheel_friction=True, + lidar=dict(num_lasers=120, distance=50), + lane_line_detector=dict(num_lasers=0, distance=50), + side_detector=dict(num_lasers=12, distance=50) + ), + "data_directory": AssetLoader.file_path("nuscenes", return_raw_style=False), + "image_observation": True, + } + ) + + # 0,1,3,4,5,6 + + success = [] + reset_num = 0 + start = time.time() + reset_used_time = 0 + s = 0 + while True: + # for i in range(10): + start_reset = time.time() + env.reset(force_seed=0) + + reset_used_time += time.time() - start_reset + reset_num += 1 + for t in range(10000): + if t==30: + # env.capture("camera_deluxe.jpg") + # ret = env.render(mode="topdown", screen_size=(1600, 900), film_size=(5000, 5000), track_target_vehicle=True) + # pygame.image.save(ret, "top_down.png") + env.vehicle.get_camera("depth_camera").save_image(env.vehicle, "camera.jpg") + o, r, d, info = env.step([1, 0.88]) + assert env.observation_space.contains(o) + s += 1 + # if env.config["use_render"]: + # env.render(text={"seed": env.current_seed, + # # "num_map": info["num_stored_maps"], + # "data_coverage": info["data_coverage"], + # "reward": r, + # "heading_r": info["step_reward_heading"], + # "lateral_r": info["step_reward_lateral"], + # "smooth_action_r": info["step_reward_action_smooth"]}) + if d: + print( + "Time elapse: {:.4f}. Average FPS: {:.4f}, AVG_Reset_time: {:.4f}".format( + time.time() - start, s / (time.time() - start - reset_used_time), + reset_used_time / reset_num + ) + ) + print("seed:{}, success".format(env.engine.global_random_seed)) + print(list(env.engine.curriculum_manager.recent_success.dict.values())) + break diff --git a/scenarionet/tests/script/replay_origin.py b/scenarionet/tests/script/replay_origin.py new file mode 100644 index 0000000..83777c9 --- /dev/null +++ b/scenarionet/tests/script/replay_origin.py @@ -0,0 +1,104 @@ +import time + +import pygame +from metadrive.envs.scenario_env import ScenarioEnv +from metadrive.policy.replay_policy import ReplayEgoCarPolicy + +NuScenesEnv = ScenarioEnv + +if __name__ == "__main__": + env = NuScenesEnv( + { + "use_render": True, + "agent_policy": ReplayEgoCarPolicy, + "show_interface": False, + "image_observation": False, + "show_logo": False, + "no_traffic": False, + "drivable_region_extension": 15, + "sequential_seed": True, + "reactive_traffic": False, + "show_fps": False, + # "debug": True, + "render_pipeline": True, + "daytime": "19:30", + "window_size": (1600, 900), + "camera_dist": 9, + # "camera_height": 1.5, + # "camera_pitch": None, + # "camera_fov": 60, + "start_scenario_index": 0, + "num_scenarios": 4, + # "force_reuse_object_name": True, + # "data_directory": "/home/shady/Downloads/test_processed", + "horizon": 1000, + # "no_static_vehicles": True, + # "show_policy_mark": True, + # "show_coordinates": True, + # "force_destroy": True, + # "default_vehicle_in_traffic": True, + "vehicle_config": dict( + # light=True, + # random_color=True, + show_navi_mark=False, + use_special_color=False, + image_source="depth_camera", + # rgb_camera=(1600, 900), + # depth_camera=(1600, 900, True), + # no_wheel_friction=True, + lidar=dict(num_lasers=120, distance=50), + lane_line_detector=dict(num_lasers=0, distance=50), + side_detector=dict(num_lasers=12, distance=50) + ), + "data_directory": "D:\\code\\scenarionet\\scenarionet\\tests\\script\\waymo_scenes_adv" + } + ) + + # 0,1,3,4,5,6 + + success = [] + reset_num = 0 + start = time.time() + reset_used_time = 0 + s = 0 + + env.reset() + + + def capture(): + env.capture() + ret = env.render(mode="topdown", screen_size=(1600, 900), film_size=(7000, 7000), track_target_vehicle=True) + pygame.image.save(ret, "top_down_{}.png".format(env.current_seed)) + + + env.engine.accept("c", capture) + + while True: + # for i in range(10): + start_reset = time.time() + env.reset() + + reset_used_time += time.time() - start_reset + reset_num += 1 + for t in range(10000): + o, r, d, info = env.step([1, 0.88]) + assert env.observation_space.contains(o) + s += 1 + # if env.config["use_render"]: + # env.render(text={"seed": env.current_seed, + # # "num_map": info["num_stored_maps"], + # "data_coverage": info["data_coverage"], + # "reward": r, + # "heading_r": info["step_reward_heading"], + # "lateral_r": info["step_reward_lateral"], + # "smooth_action_r": info["step_reward_action_smooth"]}) + if d: + print( + "Time elapse: {:.4f}. Average FPS: {:.4f}, AVG_Reset_time: {:.4f}".format( + time.time() - start, s / (time.time() - start - reset_used_time), + reset_used_time / reset_num + ) + ) + print("seed:{}, success".format(env.engine.global_random_seed)) + print(list(env.engine.curriculum_manager.recent_success.dict.values())) + break diff --git a/scenarionet/tests/script/run_env.py b/scenarionet/tests/script/run_env.py index 682a145..77061b4 100644 --- a/scenarionet/tests/script/run_env.py +++ b/scenarionet/tests/script/run_env.py @@ -50,9 +50,9 @@ if __name__ == '__main__': long, lat, = c_lane.local_coordinates(env.vehicle.position) if env.config["use_render"]: env.render(text={ - "seed": env.engine.global_seed + env.config["start_scenario_index"], + "scenario index": env.engine.global_seed + env.config["start_scenario_index"], }) if d and info["arrive_dest"]: - print("seed:{}, success".format(env.engine.global_random_seed)) + print("scenario index:{}, success".format(env.engine.global_random_seed)) break diff --git a/scenarionet/tests/test_dataset/overpass/sd_waymo_v1.2_eb4b91b10ca94ff2.pkl b/scenarionet/tests/test_dataset/overpass/sd_waymo_v1.2_eb4b91b10ca94ff2.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9c99d8a4368070660845ff94b8cea3313e16d989 GIT binary patch literal 869250 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

VWieAO|)>SiT3yKqhH&YC==sd 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⁡CySHtI1J1fitXkmRFPxVwa7HN!d>Pag%cu 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

hD|EBYe*Ac>iJEGa4;%yVAfMv96vB``aW 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 Uar04m1Z!|Vt8;#+(P+B;7gc*0qW}N^ literal 0 HcmV?d00001 diff --git a/scenarionet/tests/test_filter_overpass.py b/scenarionet/tests/test_filter_overpass.py new file mode 100644 index 0000000..4e005ae --- /dev/null +++ b/scenarionet/tests/test_filter_overpass.py @@ -0,0 +1,37 @@ +import os +import os.path + +from metadrive.engine.asset_loader import AssetLoader + +from scenarionet import SCENARIONET_PACKAGE_PATH, TMP_PATH +from scenarionet.builder.filters import ScenarioFilter +from scenarionet.builder.utils import merge_database + + +def test_filter_overpass(): + overpass_1 = os.path.join(SCENARIONET_PACKAGE_PATH, "tests", "test_dataset", "overpass") + overpass_in_md = AssetLoader.file_path("waymo", return_raw_style=False) + dataset_paths = [overpass_1, overpass_in_md] + + output_path = os.path.join(TMP_PATH, "combine") + merge_database(output_path, *dataset_paths, exist_ok=True, overwrite=True, try_generate_missing_file=True) + + # filter + filters = [] + filters.append(ScenarioFilter.make(ScenarioFilter.no_overpass)) + + summaries, _ = merge_database( + output_path, + *dataset_paths, + exist_ok=True, + overwrite=True, + try_generate_missing_file=True, + filters=filters + ) + assert len(summaries) == 3 + for scenario in summaries: + assert scenario != "sd_waymo_v1.2_eb4b91b10ca94ff2.pkl" + + +if __name__ == '__main__': + test_filter_overpass() diff --git a/scenarionet/tests/test_move.py b/scenarionet/tests/test_move.py index 0e0f320..492d500 100644 --- a/scenarionet/tests/test_move.py +++ b/scenarionet/tests/test_move.py @@ -4,13 +4,13 @@ import os.path import pytest from scenarionet import SCENARIONET_PACKAGE_PATH, TMP_PATH -from scenarionet.builder.utils import move_database, merge_database +from scenarionet.builder.utils import copy_database, merge_database from scenarionet.common_utils import read_dataset_summary, read_scenario from scenarionet.verifier.utils import verify_database @pytest.mark.order("first") -def test_move_database(): +def test_copy_database(): dataset_name = "nuscenes" original_dataset_path = os.path.join(SCENARIONET_PACKAGE_PATH, "tests", "test_dataset", dataset_name) dataset_paths = [original_dataset_path + "_{}".format(i) for i in range(5)] @@ -19,7 +19,7 @@ def test_move_database(): # move for k, from_path in enumerate(dataset_paths): to = os.path.join(TMP_PATH, str(k)) - move_database(from_path, to) + copy_database(from_path, to) moved_path.append(to) assert os.path.exists(from_path) merge_database(output_path, *moved_path, exist_ok=True, overwrite=True, try_generate_missing_file=True) @@ -37,7 +37,7 @@ def test_move_database(): for k, from_path in enumerate(moved_path): new_p = os.path.join(TMP_PATH, str(k) + str(k)) new_move_pathes.append(new_p) - move_database(from_path, new_p, exist_ok=True, overwrite=True) + copy_database(from_path, new_p, exist_ok=True, overwrite=True) assert not os.path.exists(from_path) merge_database(output_path, *new_move_pathes, exist_ok=True, overwrite=True, try_generate_missing_file=True) # verify @@ -51,4 +51,4 @@ def test_move_database(): if __name__ == '__main__': - test_move_database() + test_copy_database() diff --git a/scenarionet/tests/test_split_dataset.py b/scenarionet/tests/test_split_dataset.py new file mode 100644 index 0000000..cd3336c --- /dev/null +++ b/scenarionet/tests/test_split_dataset.py @@ -0,0 +1,37 @@ +import os +import os.path + +from scenarionet import SCENARIONET_PACKAGE_PATH, TMP_PATH +from scenarionet.builder.utils import merge_database, split_database +from scenarionet.common_utils import read_dataset_summary + + +def test_split_dataset(): + dataset_name = "nuscenes" + original_dataset_path = os.path.join(SCENARIONET_PACKAGE_PATH, "tests", "test_dataset", dataset_name) + test_dataset_path = os.path.join(SCENARIONET_PACKAGE_PATH, "tests", "test_dataset") + dataset_paths = [original_dataset_path + "_{}".format(i) for i in [0, 1, 3, 4]] + + output_path = os.path.join(TMP_PATH, "combine") + merge_database(output_path, *dataset_paths, exist_ok=True, overwrite=True, try_generate_missing_file=True) + + # split + from_path = output_path + to_path = os.path.join(TMP_PATH, "split", "split") + summary_1, lookup_1, mapping_1 = read_dataset_summary(from_path) + + split_database(from_path, to_path, start_index=3, random=True, num_scenarios=4, overwrite=True, exist_ok=True) + summary_2, lookup_2, mapping_2 = read_dataset_summary(to_path) + assert len(summary_2) == 4 + for scenario in summary_2: + assert scenario not in lookup_1[:3] + + split_database(from_path, to_path, start_index=3, num_scenarios=4, overwrite=True, exist_ok=True) + summary_2, lookup_2, mapping_2 = read_dataset_summary(to_path) + assert lookup_1[3:7] == lookup_2 + for k in range(4): + assert summary_1[lookup_2[k]] == summary_2[lookup_2[k]] + + +if __name__ == '__main__': + test_split_dataset() diff --git a/scenarionet/verifier/error.py b/scenarionet/verifier/error.py index f7e6b64..e7d8351 100644 --- a/scenarionet/verifier/error.py +++ b/scenarionet/verifier/error.py @@ -53,12 +53,12 @@ class ErrorFile: @classmethod def generate_dataset(cls, error_file_path, new_dataset_path, overwrite=False, broken_scenario=False): """ - Generate a new dataset containing all broken scenarios or all good scenarios + Generate a new database containing all broken scenarios or all good scenarios :param error_file_path: error file path :param new_dataset_path: a directory where you want to store your data :param overwrite: if new_dataset_path exists, whether to overwrite :param broken_scenario: generate broken scenarios. You can generate such a broken scenarios for debugging - :return: dataset summary, dataset mapping + :return: database summary, database mapping """ new_dataset_path = os.path.abspath(new_dataset_path) if os.path.exists(new_dataset_path): diff --git a/scenarionet/verifier/utils.py b/scenarionet/verifier/utils.py index 9d42716..0d7de97 100644 --- a/scenarionet/verifier/utils.py +++ b/scenarionet/verifier/utils.py @@ -108,6 +108,7 @@ def loading_into_metadrive( "agent_policy": ReplayEgoCarPolicy, "num_scenarios": num_scenario, "horizon": 1000, + "store_map": False, "start_scenario_index": start_scenario_index, "no_static_vehicles": False, "data_directory": dataset_path, diff --git a/scenarionet_training/__init__.py b/scenarionet_training/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scenarionet_training/scripts/__init__.py b/scenarionet_training/scripts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scenarionet_training/scripts/evaluate_nuplan.py b/scenarionet_training/scripts/evaluate_nuplan.py new file mode 100644 index 0000000..aee11b5 --- /dev/null +++ b/scenarionet_training/scripts/evaluate_nuplan.py @@ -0,0 +1,23 @@ +from scenarionet_training.scripts.train_nuplan import config +from scenarionet_training.train_utils.utils import eval_ckpt + +if __name__ == '__main__': + # 27 29 30 37 39 + ckpt_path = "C:\\Users\\x1\\Desktop\\checkpoint_510\\checkpoint-510" + scenario_data_path = "D:\\scenarionet_testset\\nuplan_test\\nuplan_test_w_raw" + num_scenarios = 2000 + start_scenario_index = 0 + horizon = 600 + render = False + explore = True # PPO is a stochastic policy, turning off exploration can reduce jitter but may harm performance + log_interval = 10 + + eval_ckpt(config, + ckpt_path, + scenario_data_path, + num_scenarios, + start_scenario_index, + horizon, + render, + explore, + log_interval) diff --git a/scenarionet_training/scripts/evaluate_pg.py b/scenarionet_training/scripts/evaluate_pg.py new file mode 100644 index 0000000..e79b252 --- /dev/null +++ b/scenarionet_training/scripts/evaluate_pg.py @@ -0,0 +1,27 @@ +import os.path + +from scenarionet import SCENARIONET_DATASET_PATH +from scenarionet_training.scripts.train_pg import config +from scenarionet_training.train_utils.utils import eval_ckpt + +if __name__ == '__main__': + # Merge all evaluate script + # 10/15/20/26/30/31/32 + ckpt_path = "C:\\Users\\x1\\Desktop\\checkpoint_330\\checkpoint-330" + scenario_data_path = os.path.join(SCENARIONET_DATASET_PATH, "pg_2000") + num_scenarios = 2000 + start_scenario_index = 0 + horizon = 600 + render = False + explore = True # PPO is a stochastic policy, turning off exploration can reduce jitter but may harm performance + log_interval = 2 + + eval_ckpt(config, + ckpt_path, + scenario_data_path, + num_scenarios, + start_scenario_index, + horizon, + render, + explore, + log_interval) diff --git a/scenarionet_training/scripts/evaluate_waymo.py b/scenarionet_training/scripts/evaluate_waymo.py new file mode 100644 index 0000000..c00fa7e --- /dev/null +++ b/scenarionet_training/scripts/evaluate_waymo.py @@ -0,0 +1,22 @@ +from scenarionet_training.scripts.train_waymo import config +from scenarionet_training.train_utils.utils import eval_ckpt + +if __name__ == '__main__': + ckpt_path = "C:\\Users\\x1\\Desktop\\checkpoint_170\\checkpoint-170" + scenario_data_path = "D:\\scenarionet_testset\\waymo_test_raw_data" + num_scenarios = 2000 + start_scenario_index = 0 + horizon = 600 + render = True + explore = True # PPO is a stochastic policy, turning off exploration can reduce jitter but may harm performance + log_interval = 2 + + eval_ckpt(config, + ckpt_path, + scenario_data_path, + num_scenarios, + start_scenario_index, + horizon, + render, + explore, + log_interval) diff --git a/scenarionet_training/scripts/local_test.py b/scenarionet_training/scripts/local_test.py new file mode 100644 index 0000000..e785a5d --- /dev/null +++ b/scenarionet_training/scripts/local_test.py @@ -0,0 +1,80 @@ +import os.path + +from metadrive.envs.scenario_env import ScenarioEnv + +from scenarionet import SCENARIONET_REPO_PATH, SCENARIONET_DATASET_PATH +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.train_utils.utils import train, get_train_parser, get_exp_name + +if __name__ == '__main__': + env = ScenarioEnv + args = get_train_parser().parse_args() + exp_name = get_exp_name(args) + stop = int(100_000_000) + + config = dict( + env=env, + env_config=dict( + # scenario + start_scenario_index=0, + num_scenarios=32, + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "pg"), + sequential_seed=True, + + # traffic & light + reactive_traffic=False, + no_static_vehicles=True, + no_light=True, + static_traffic_object=True, + + # curriculum training + curriculum_level=4, + target_success_rate=0.8, + + # training + horizon=None, + use_lateral_reward=True, + ), + + # # ===== Evaluation ===== + evaluation_interval=2, + evaluation_num_episodes=32, + evaluation_config=dict(env_config=dict(start_scenario_index=32, + num_scenarios=32, + sequential_seed=True, + curriculum_level=1, # turn off + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "pg"))), + evaluation_num_workers=2, + metrics_smoothing_episodes=10, + + # ===== Training ===== + model=dict(fcnet_hiddens=[512, 256, 128]), + horizon=600, + num_sgd_iter=20, + lr=5e-5, + rollout_fragment_length=500, + sgd_minibatch_size=100, + train_batch_size=4000, + num_gpus=0.5 if args.num_gpus != 0 else 0, + num_cpus_per_worker=0.4, + num_cpus_for_driver=1, + num_workers=2, + framework="tf" + ) + + train( + MultiWorkerPPO, + exp_name=exp_name, + save_dir=os.path.join(SCENARIONET_REPO_PATH, "experiment"), + keep_checkpoints_num=5, + stop=stop, + config=config, + num_gpus=args.num_gpus, + # num_seeds=args.num_seeds, + num_seeds=1, + # test_mode=args.test, + # local_mode=True, + # TODO remove this when we release our code + # wandb_key_file="~/wandb_api_key_file.txt", + wandb_project="scenarionet", + ) diff --git a/scenarionet_training/scripts/multi_worker_eval.py b/scenarionet_training/scripts/multi_worker_eval.py new file mode 100644 index 0000000..7c51d84 --- /dev/null +++ b/scenarionet_training/scripts/multi_worker_eval.py @@ -0,0 +1,74 @@ +import argparse +import pickle +import json +import os + +import numpy as np + +from scenarionet_training.scripts.train_nuplan import config +from scenarionet_training.train_utils.callbacks import DrivingCallbacks +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.train_utils.utils import initialize_ray + + +class NumpyEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, np.ndarray): + return obj.tolist() + elif isinstance(obj, np.int32): + return int(obj) + elif isinstance(obj, np.int64): + return int(obj) + return json.JSONEncoder.default(self, obj) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("--start_index", type=int, default=0) + parser.add_argument("--ckpt_path", type=str, required=True) + parser.add_argument("--database_path", type=str, required=True) + parser.add_argument("--id", type=str, default="") + parser.add_argument("--num_scenarios", type=int, default=5000) + parser.add_argument("--num_workers", type=int, default=10) + parser.add_argument("--horizon", type=int, default=600) + parser.add_argument("--allowed_more_steps", type=int, default=50) + parser.add_argument("--max_lateral_dist", type=int, default=2.5) + parser.add_argument("--overwrite", action="store_true") + + args = parser.parse_args() + file = "eval_{}_{}_{}".format(args.id, os.path.basename(args.ckpt_path), os.path.basename(args.database_path)) + if os.path.exists(file) and not args.overwrite: + raise FileExistsError("Please remove {} or set --overwrite".format(file)) + initialize_ray(test_mode=True, num_gpus=1) + + config["callbacks"] = DrivingCallbacks + config["evaluation_num_workers"] = args.num_workers + config["evaluation_num_episodes"] = args.num_scenarios + config["metrics_smoothing_episodes"] = args.num_scenarios + config["custom_eval_function"] = None + config["num_workers"] = 0 + config["evaluation_config"]["env_config"].update(dict( + start_scenario_index=args.start_index, + num_scenarios=args.num_scenarios, + sequential_seed=True, + store_map=False, + store_data=False, + allowed_more_steps=args.allowed_more_steps, + # no_map=True, + max_lateral_dist=args.max_lateral_dist, + curriculum_level=1, # disable curriculum + target_success_rate=1, + horizon=args.horizon, + episodes_to_evaluate_curriculum=args.num_scenarios, + data_directory=args.database_path, + use_render=False)) + + trainer = MultiWorkerPPO(config) + trainer.restore(args.ckpt_path) + + ret = trainer._evaluate()["evaluation"] + with open(file + ".json", "w") as f: + json.dump(ret, f, cls=NumpyEncoder) + + with open(file + ".pkl", "wb+") as f: + pickle.dump(ret, f) diff --git a/scenarionet_training/scripts/train_nuplan.py b/scenarionet_training/scripts/train_nuplan.py new file mode 100644 index 0000000..766e6c6 --- /dev/null +++ b/scenarionet_training/scripts/train_nuplan.py @@ -0,0 +1,96 @@ +import os.path + +from metadrive.envs.scenario_env import ScenarioEnv +from scenarionet import SCENARIONET_REPO_PATH, SCENARIONET_DATASET_PATH +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.train_utils.utils import train, get_train_parser, get_exp_name + +config = dict( + env=ScenarioEnv, + env_config=dict( + # scenario + start_scenario_index=0, + num_scenarios=40000, + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "nuplan_train"), + sequential_seed=True, + + # curriculum training + curriculum_level=100, + target_success_rate=0.8, # or 0.7 + # episodes_to_evaluate_curriculum=400, # default=num_scenarios/curriculum_level + + # traffic & light + reactive_traffic=True, + no_static_vehicles=True, + no_light=True, + static_traffic_object=True, + + # training scheme + horizon=None, + driving_reward=4, + steering_range_penalty=1.0, + heading_penalty=2, + lateral_penalty=2.0, + no_negative_reward=True, + on_lane_line_penalty=0, + crash_vehicle_penalty=2, + crash_human_penalty=2, + crash_object_penalty=0.5, + # out_of_road_penalty=2, + max_lateral_dist=2, + # crash_vehicle_done=True, + + vehicle_config=dict(side_detector=dict(num_lasers=0)) + + ), + + # ===== Evaluation ===== + evaluation_interval=15, + evaluation_num_episodes=1000, + # TODO (LQY), this is a sample from testset do eval on all scenarios after training! + evaluation_config=dict(env_config=dict(start_scenario_index=0, + num_scenarios=1000, + sequential_seed=True, + curriculum_level=1, # turn off + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "nuplan_test"))), + evaluation_num_workers=10, + metrics_smoothing_episodes=10, + + # ===== Training ===== + model=dict(fcnet_hiddens=[512, 256, 128]), + horizon=600, + num_sgd_iter=20, + lr=1e-4, + rollout_fragment_length=500, + sgd_minibatch_size=200, + train_batch_size=50000, + num_gpus=0.5, + num_cpus_per_worker=0.3, + num_cpus_for_driver=1, + num_workers=20, + framework="tf" +) + +if __name__ == '__main__': + # PG data is generated with seeds 10,000 to 60,000 + args = get_train_parser().parse_args() + exp_name = get_exp_name(args) + stop = int(100_000_000) + config["num_gpus"] = 0.5 if args.num_gpus != 0 else 0 + + train( + MultiWorkerPPO, + exp_name=exp_name, + save_dir=os.path.join(SCENARIONET_REPO_PATH, "experiment"), + keep_checkpoints_num=5, + stop=stop, + config=config, + num_gpus=args.num_gpus, + # num_seeds=args.num_seeds, + num_seeds=5, + test_mode=args.test, + # local_mode=True, + # TODO remove this when we release our code + # wandb_key_file="~/wandb_api_key_file.txt", + wandb_project="scenarionet", + ) diff --git a/scenarionet_training/scripts/train_pg.py b/scenarionet_training/scripts/train_pg.py new file mode 100644 index 0000000..80aae0d --- /dev/null +++ b/scenarionet_training/scripts/train_pg.py @@ -0,0 +1,95 @@ +import os.path +from ray.tune import grid_search +from metadrive.envs.scenario_env import ScenarioEnv + +from scenarionet import SCENARIONET_REPO_PATH, SCENARIONET_DATASET_PATH +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.train_utils.utils import train, get_train_parser, get_exp_name + +config = dict( + env=ScenarioEnv, + env_config=dict( + # scenario + start_scenario_index=0, + num_scenarios=40000, + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "pg_train"), + sequential_seed=True, + + # curriculum training + curriculum_level=100, + target_success_rate=0.8, + # episodes_to_evaluate_curriculum=400, # default=num_scenarios/curriculum_level + + # traffic & light + reactive_traffic=False, + no_static_vehicles=True, + no_light=True, + static_traffic_object=True, + + # training scheme + horizon=None, + steering_range_penalty=2, + heading_penalty=1.0, + lateral_penalty=1.0, + no_negative_reward=True, + on_lane_line_penalty=0, + crash_vehicle_penalty=2, + crash_human_penalty=2, + out_of_road_penalty=2, + max_lateral_dist=2, + # crash_vehicle_done=True, + + vehicle_config=dict(side_detector=dict(num_lasers=0)) + + ), + + # ===== Evaluation ===== + evaluation_interval=15, + evaluation_num_episodes=1000, + # TODO (LQY), this is a sample from testset do eval on all scenarios after training! + evaluation_config=dict(env_config=dict(start_scenario_index=0, + num_scenarios=1000, + sequential_seed=True, + curriculum_level=1, # turn off + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "pg_test"))), + evaluation_num_workers=10, + metrics_smoothing_episodes=10, + + # ===== Training ===== + model=dict(fcnet_hiddens=[512, 256, 128]), + horizon=600, + num_sgd_iter=20, + lr=1e-4, + rollout_fragment_length=500, + sgd_minibatch_size=200, + train_batch_size=50000, + num_gpus=0.5, + num_cpus_per_worker=0.3, + num_cpus_for_driver=1, + num_workers=20, + framework="tf" +) + +if __name__ == '__main__': + # PG data is generated with seeds 10,000 to 60,000 + args = get_train_parser().parse_args() + exp_name = get_exp_name(args) + stop = int(100_000_000) + config["num_gpus"] = 0.5 if args.num_gpus != 0 else 0 + + train( + MultiWorkerPPO, + exp_name=exp_name, + save_dir=os.path.join(SCENARIONET_REPO_PATH, "experiment"), + keep_checkpoints_num=5, + stop=stop, + config=config, + num_gpus=args.num_gpus, + # num_seeds=args.num_seeds, + num_seeds=5, + test_mode=args.test, + # local_mode=True, + # TODO remove this when we release our code + # wandb_key_file="~/wandb_api_key_file.txt", + wandb_project="scenarionet", + ) diff --git a/scenarionet_training/scripts/train_waymo.py b/scenarionet_training/scripts/train_waymo.py new file mode 100644 index 0000000..767e51d --- /dev/null +++ b/scenarionet_training/scripts/train_waymo.py @@ -0,0 +1,95 @@ +import os.path + +from metadrive.envs.scenario_env import ScenarioEnv +from scenarionet import SCENARIONET_REPO_PATH, SCENARIONET_DATASET_PATH +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.train_utils.utils import train, get_train_parser, get_exp_name + +config = dict( + env=ScenarioEnv, + env_config=dict( + # scenario + start_scenario_index=0, + num_scenarios=40000, + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "waymo_train"), + sequential_seed=True, + + # curriculum training + curriculum_level=100, + target_success_rate=0.8, + # episodes_to_evaluate_curriculum=400, # default=num_scenarios/curriculum_level + + # traffic & light + reactive_traffic=True, + no_static_vehicles=True, + no_light=True, + static_traffic_object=True, + + # training scheme + horizon=None, + driving_reward=1, + steering_range_penalty=0, + heading_penalty=1, + lateral_penalty=1.0, + no_negative_reward=True, + on_lane_line_penalty=0, + crash_vehicle_penalty=2, + crash_human_penalty=2, + out_of_road_penalty=2, + max_lateral_dist=2, + # crash_vehicle_done=True, + + vehicle_config=dict(side_detector=dict(num_lasers=0)) + + ), + + # ===== Evaluation ===== + evaluation_interval=15, + evaluation_num_episodes=1000, + # TODO (LQY), this is a sample from testset do eval on all scenarios after training! + evaluation_config=dict(env_config=dict(start_scenario_index=0, + num_scenarios=1000, + sequential_seed=True, + curriculum_level=1, # turn off + data_directory=os.path.join(SCENARIONET_DATASET_PATH, "waymo_test"))), + evaluation_num_workers=10, + metrics_smoothing_episodes=10, + + # ===== Training ===== + model=dict(fcnet_hiddens=[512, 256, 128]), + horizon=600, + num_sgd_iter=20, + lr=1e-4, + rollout_fragment_length=500, + sgd_minibatch_size=200, + train_batch_size=50000, + num_gpus=0.5, + num_cpus_per_worker=0.3, + num_cpus_for_driver=1, + num_workers=20, + framework="tf" +) + +if __name__ == '__main__': + # PG data is generated with seeds 10,000 to 60,000 + args = get_train_parser().parse_args() + exp_name = get_exp_name(args) + stop = int(100_000_000) + config["num_gpus"] = 0.5 if args.num_gpus != 0 else 0 + + train( + MultiWorkerPPO, + exp_name=exp_name, + save_dir=os.path.join(SCENARIONET_REPO_PATH, "experiment"), + keep_checkpoints_num=5, + stop=stop, + config=config, + num_gpus=args.num_gpus, + # num_seeds=args.num_seeds, + num_seeds=5, + test_mode=args.test, + # local_mode=True, + # TODO remove this when we release our code + # wandb_key_file="~/wandb_api_key_file.txt", + wandb_project="scenarionet", + ) diff --git a/scenarionet_training/train_utils/__init__.py b/scenarionet_training/train_utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scenarionet_training/train_utils/anisotropic_workerset.py b/scenarionet_training/train_utils/anisotropic_workerset.py new file mode 100644 index 0000000..4b055c7 --- /dev/null +++ b/scenarionet_training/train_utils/anisotropic_workerset.py @@ -0,0 +1,42 @@ +import copy +import logging +from typing import TypeVar + +from ray.rllib.evaluation.rollout_worker import RolloutWorker +from ray.rllib.evaluation.worker_set import WorkerSet +from ray.rllib.utils.annotations import DeveloperAPI +from ray.rllib.utils.framework import try_import_tf + +tf1, tf, tfv = try_import_tf() + +logger = logging.getLogger(__name__) + +# Generic type var for foreach_* methods. +T = TypeVar("T") + + +@DeveloperAPI +class AnisotropicWorkerSet(WorkerSet): + """ + Workers are assigned to different scenarios for saving memory/speeding up sampling + """ + + def add_workers(self, num_workers: int) -> None: + """ + Workers are assigned to different scenarios + """ + remote_args = { + "num_cpus": self._remote_config["num_cpus_per_worker"], + "num_gpus": self._remote_config["num_gpus_per_worker"], + # memory=0 is an error, but memory=None means no limits. + "memory": self._remote_config["memory_per_worker"] or None, + "object_store_memory": self. + _remote_config["object_store_memory_per_worker"] or None, + "resources": self._remote_config["custom_resources_per_worker"], + } + cls = RolloutWorker.as_remote(**remote_args).remote + for i in range(num_workers): + config = copy.deepcopy(self._remote_config) + config["env_config"]["worker_index"] = i + config["env_config"]["num_workers"] = num_workers + self._remote_workers.append(self._make_worker(cls, self._env_creator, self._policy_class, i + 1, config)) diff --git a/scenarionet_training/train_utils/callbacks.py b/scenarionet_training/train_utils/callbacks.py new file mode 100644 index 0000000..13a9d53 --- /dev/null +++ b/scenarionet_training/train_utils/callbacks.py @@ -0,0 +1,110 @@ +from typing import Dict + +import numpy as np +from ray.rllib.agents.callbacks import DefaultCallbacks +from ray.rllib.env import BaseEnv +from ray.rllib.evaluation import MultiAgentEpisode, RolloutWorker +from ray.rllib.policy import Policy + + +class DrivingCallbacks(DefaultCallbacks): + def on_episode_start( + self, *, worker: RolloutWorker, base_env: BaseEnv, policies: Dict[str, Policy], episode: MultiAgentEpisode, + env_index: int, **kwargs + ): + episode.user_data["velocity"] = [] + episode.user_data["steering"] = [] + episode.user_data["step_reward"] = [] + episode.user_data["acceleration"] = [] + episode.user_data["lateral_dist"] = [] + episode.user_data["cost"] = [] + episode.user_data["num_crash_vehicle"] = [] + episode.user_data["num_crash_human"] = [] + episode.user_data["num_crash_object"] = [] + episode.user_data["num_on_line"] = [] + + episode.user_data["step_reward_lateral"] = [] + episode.user_data["step_reward_heading"] = [] + episode.user_data["step_reward_action_smooth"] = [] + + def on_episode_step( + self, *, worker: RolloutWorker, base_env: BaseEnv, episode: MultiAgentEpisode, env_index: int, **kwargs + ): + info = episode.last_info_for() + if info is not None: + episode.user_data["velocity"].append(info["velocity"]) + episode.user_data["steering"].append(info["steering"]) + episode.user_data["step_reward"].append(info["step_reward"]) + episode.user_data["acceleration"].append(info["acceleration"]) + episode.user_data["lateral_dist"].append(info["lateral_dist"]) + episode.user_data["cost"].append(info["cost"]) + for x in ["num_crash_vehicle", "num_crash_object", "num_crash_human", "num_on_line"]: + episode.user_data[x].append(info[x]) + + for x in ["step_reward_lateral", "step_reward_heading", "step_reward_action_smooth"]: + episode.user_data[x].append(info[x]) + + def on_episode_end( + self, worker: RolloutWorker, base_env: BaseEnv, policies: Dict[str, Policy], episode: MultiAgentEpisode, + **kwargs + ): + arrive_dest = episode.last_info_for()["arrive_dest"] + crash = episode.last_info_for()["crash"] + out_of_road = episode.last_info_for()["out_of_road"] + max_step_rate = not (arrive_dest or crash or out_of_road) + episode.custom_metrics["success_rate"] = float(arrive_dest) + episode.custom_metrics["crash_rate"] = float(crash) + episode.custom_metrics["out_of_road_rate"] = float(out_of_road) + episode.custom_metrics["max_step_rate"] = float(max_step_rate) + episode.custom_metrics["velocity_max"] = float(np.max(episode.user_data["velocity"])) + episode.custom_metrics["velocity_mean"] = float(np.mean(episode.user_data["velocity"])) + episode.custom_metrics["velocity_min"] = float(np.min(episode.user_data["velocity"])) + + episode.custom_metrics["lateral_dist_min"] = float(np.min(episode.user_data["lateral_dist"])) + episode.custom_metrics["lateral_dist_max"] = float(np.max(episode.user_data["lateral_dist"])) + episode.custom_metrics["lateral_dist_mean"] = float(np.mean(episode.user_data["lateral_dist"])) + + episode.custom_metrics["steering_max"] = float(np.max(episode.user_data["steering"])) + episode.custom_metrics["steering_mean"] = float(np.mean(episode.user_data["steering"])) + episode.custom_metrics["steering_min"] = float(np.min(episode.user_data["steering"])) + episode.custom_metrics["acceleration_min"] = float(np.min(episode.user_data["acceleration"])) + episode.custom_metrics["acceleration_mean"] = float(np.mean(episode.user_data["acceleration"])) + episode.custom_metrics["acceleration_max"] = float(np.max(episode.user_data["acceleration"])) + episode.custom_metrics["step_reward_max"] = float(np.max(episode.user_data["step_reward"])) + episode.custom_metrics["step_reward_mean"] = float(np.mean(episode.user_data["step_reward"])) + episode.custom_metrics["step_reward_min"] = float(np.min(episode.user_data["step_reward"])) + + episode.custom_metrics["cost"] = float(sum(episode.user_data["cost"])) + for x in ["num_crash_vehicle", "num_crash_object", "num_crash_human", "num_on_line"]: + episode.custom_metrics[x] = float(sum(episode.user_data[x])) + + for x in ["step_reward_lateral", "step_reward_heading", "step_reward_action_smooth"]: + episode.custom_metrics[x] = float(np.mean(episode.user_data[x])) + + episode.custom_metrics["route_completion"] = float(episode.last_info_for()["route_completion"]) + episode.custom_metrics["curriculum_level"] = int(episode.last_info_for()["curriculum_level"]) + episode.custom_metrics["scenario_index"] = int(episode.last_info_for()["scenario_index"]) + episode.custom_metrics["track_length"] = float(episode.last_info_for()["track_length"]) + episode.custom_metrics["num_stored_maps"] = int(episode.last_info_for()["num_stored_maps"]) + episode.custom_metrics["scenario_difficulty"] = float(episode.last_info_for()["scenario_difficulty"]) + episode.custom_metrics["data_coverage"] = float(episode.last_info_for()["data_coverage"]) + episode.custom_metrics["curriculum_success"] = float(episode.last_info_for()["curriculum_success"]) + episode.custom_metrics["curriculum_route_completion"] = float( + episode.last_info_for()["curriculum_route_completion"]) + + def on_train_result(self, *, trainer, result: dict, **kwargs): + result["success"] = np.nan + result["out"] = np.nan + result["max_step"] = np.nan + result["level"] = np.nan + result["length"] = result["episode_len_mean"] + result["coverage"] = np.nan + if "custom_metrics" not in result: + return + + if "success_rate_mean" in result["custom_metrics"]: + result["success"] = result["custom_metrics"]["success_rate_mean"] + result["out"] = result["custom_metrics"]["out_of_road_rate_mean"] + result["max_step"] = result["custom_metrics"]["max_step_rate_mean"] + result["level"] = result["custom_metrics"]["curriculum_level_mean"] + result["coverage"] = result["custom_metrics"]["data_coverage_mean"] diff --git a/scenarionet_training/train_utils/check_env.py b/scenarionet_training/train_utils/check_env.py new file mode 100644 index 0000000..d84a3eb --- /dev/null +++ b/scenarionet_training/train_utils/check_env.py @@ -0,0 +1,11 @@ +from ray.rllib.utils import check_env +from metadrive.envs.scenario_env import ScenarioEnv +from metadrive.envs.gymnasium_wrapper import GymnasiumEnvWrapper +from gym import Env + +if __name__ == '__main__': + env = GymnasiumEnvWrapper.build(ScenarioEnv)() + print(isinstance(ScenarioEnv, Env)) + print(isinstance(env, Env)) + print(env.observation_space) + check_env(env) diff --git a/scenarionet_training/train_utils/multi_worker_PPO.py b/scenarionet_training/train_utils/multi_worker_PPO.py new file mode 100644 index 0000000..255d60d --- /dev/null +++ b/scenarionet_training/train_utils/multi_worker_PPO.py @@ -0,0 +1,46 @@ +import logging +from typing import Callable, Type + +from ray.rllib.agents.ppo.ppo import PPOTrainer +from ray.rllib.env.env_context import EnvContext +from ray.rllib.policy import Policy +from ray.rllib.utils.typing import TrainerConfigDict, \ + EnvType + +from scenarionet_training.train_utils.anisotropic_workerset import AnisotropicWorkerSet + +logger = logging.getLogger(__name__) + + +class MultiWorkerPPO(PPOTrainer): + """ + In this class, each work will have different config for speeding up and saving memory. More importantly, it can + allow us to cover all test/train cases more evenly + """ + + def _make_workers(self, env_creator: Callable[[EnvContext], EnvType], + policy_class: Type[Policy], config: TrainerConfigDict, + num_workers: int): + """Default factory method for a WorkerSet running under this Trainer. + + Override this method by passing a custom `make_workers` into + `build_trainer`. + + Args: + env_creator (callable): A function that return and Env given an env + config. + policy (Type[Policy]): The Policy class to use for creating the + policies of the workers. + config (TrainerConfigDict): The Trainer's config. + num_workers (int): Number of remote rollout workers to create. + 0 for local only. + + Returns: + WorkerSet: The created WorkerSet. + """ + return AnisotropicWorkerSet( + env_creator=env_creator, + policy_class=policy_class, + trainer_config=config, + num_workers=num_workers, + logdir=self.logdir) diff --git a/scenarionet_training/train_utils/utils.py b/scenarionet_training/train_utils/utils.py new file mode 100644 index 0000000..edb7e11 --- /dev/null +++ b/scenarionet_training/train_utils/utils.py @@ -0,0 +1,356 @@ +import copy +import datetime +import json +import os +import pickle +from collections import defaultdict + +import numpy as np +import tqdm +from metadrive.constants import TerminationState +from metadrive.envs.scenario_env import ScenarioEnv +from ray import tune +from ray.tune import CLIReporter + +from scenarionet_training.train_utils.multi_worker_PPO import MultiWorkerPPO +from scenarionet_training.wandb_utils import WANDB_KEY_FILE + +root = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) + + +def get_api_key_file(wandb_key_file): + if wandb_key_file is not None: + default_path = os.path.expanduser(wandb_key_file) + else: + default_path = WANDB_KEY_FILE + if os.path.exists(default_path): + print("We are using this wandb key file: ", default_path) + return default_path + path = os.path.join(root, "scenarionet_training/wandb", "wandb_api_key_file.txt") + print("We are using this wandb key file: ", path) + return path + + +def train( + trainer, + config, + stop, + exp_name, + num_seeds=1, + num_gpus=0, + test_mode=False, + suffix="", + checkpoint_freq=10, + keep_checkpoints_num=None, + start_seed=0, + local_mode=False, + save_pkl=True, + custom_callback=None, + max_failures=0, + wandb_key_file=None, + wandb_project=None, + wandb_team="drivingforce", + wandb_log_config=True, + init_kws=None, + save_dir=None, + **kwargs +): + init_kws = init_kws or dict() + # initialize ray + if not os.environ.get("redis_password"): + initialize_ray(test_mode=test_mode, local_mode=local_mode, num_gpus=num_gpus, **init_kws) + else: + password = os.environ.get("redis_password") + assert os.environ.get("ip_head") + print( + "We detect redis_password ({}) exists in environment! So " + "we will start a ray cluster!".format(password) + ) + if num_gpus: + print( + "We are in cluster mode! So GPU specification is disable and" + " should be done when submitting task to cluster! You are " + "requiring {} GPU for each machine!".format(num_gpus) + ) + initialize_ray(address=os.environ["ip_head"], test_mode=test_mode, redis_password=password, **init_kws) + + # prepare config + + if custom_callback: + callback = custom_callback + else: + from scenarionet_training.train_utils.callbacks import DrivingCallbacks + callback = DrivingCallbacks + + used_config = { + "seed": tune.grid_search([i * 100 + start_seed for i in range(num_seeds)]) if num_seeds is not None else None, + "log_level": "DEBUG" if test_mode else "INFO", + "callbacks": callback + } + if custom_callback is False: + used_config.pop("callbacks") + if config: + used_config.update(config) + config = copy.deepcopy(used_config) + + if isinstance(trainer, str): + trainer_name = trainer + elif hasattr(trainer, "_name"): + trainer_name = trainer._name + else: + trainer_name = trainer.__name__ + + if not isinstance(stop, dict) and stop is not None: + assert np.isscalar(stop) + stop = {"timesteps_total": int(stop)} + + if keep_checkpoints_num is not None and not test_mode: + assert isinstance(keep_checkpoints_num, int) + kwargs["keep_checkpoints_num"] = keep_checkpoints_num + kwargs["checkpoint_score_attr"] = "episode_reward_mean" + + if "verbose" not in kwargs: + kwargs["verbose"] = 1 if not test_mode else 2 + + # This functionality is not supported yet! + metric_columns = CLIReporter.DEFAULT_COLUMNS.copy() + progress_reporter = CLIReporter(metric_columns=metric_columns) + progress_reporter.add_metric_column("success") + progress_reporter.add_metric_column("coverage") + progress_reporter.add_metric_column("out") + progress_reporter.add_metric_column("max_step") + progress_reporter.add_metric_column("length") + progress_reporter.add_metric_column("level") + kwargs["progress_reporter"] = progress_reporter + + if wandb_key_file is not None: + assert wandb_project is not None + if wandb_project is not None: + assert wandb_project is not None + failed_wandb = False + try: + from scenarionet_training.wandb_utils.our_wandb_callbacks import OurWandbLoggerCallback + except Exception as e: + # print("Please install wandb: pip install wandb") + failed_wandb = True + + if failed_wandb: + from ray.tune.logger import DEFAULT_LOGGERS + from scenarionet_training.wandb_utils.our_wandb_callbacks_ray100 import OurWandbLogger + kwargs["loggers"] = DEFAULT_LOGGERS + (OurWandbLogger,) + config["logger_config"] = { + "wandb": + { + "group": exp_name, + "exp_name": exp_name, + "entity": wandb_team, + "project": wandb_project, + "api_key_file": get_api_key_file(wandb_key_file), + "log_config": wandb_log_config, + } + } + else: + kwargs["callbacks"] = [ + OurWandbLoggerCallback( + exp_name=exp_name, + api_key_file=get_api_key_file(wandb_key_file), + project=wandb_project, + group=exp_name, + log_config=wandb_log_config, + entity=wandb_team + ) + ] + + # start training + analysis = tune.run( + trainer, + name=exp_name, + checkpoint_freq=checkpoint_freq, + checkpoint_at_end=True if "checkpoint_at_end" not in kwargs else kwargs.pop("checkpoint_at_end"), + stop=stop, + config=config, + max_failures=max_failures if not test_mode else 0, + reuse_actors=False, + local_dir=save_dir or ".", + **kwargs + ) + + # save training progress as insurance + if save_pkl: + pkl_path = "{}-{}{}.pkl".format(exp_name, trainer_name, "" if not suffix else "-" + suffix) + with open(pkl_path, "wb") as f: + data = analysis.fetch_trial_dataframes() + pickle.dump(data, f) + print("Result is saved at: <{}>".format(pkl_path)) + return analysis + + +import argparse +import logging +import os + +import ray + + +def initialize_ray(local_mode=False, num_gpus=None, test_mode=False, **kwargs): + os.environ['OMP_NUM_THREADS'] = '1' + + if ray.__version__.split(".")[0] == "1": # 1.0 version Ray + if "redis_password" in kwargs: + redis_password = kwargs.pop("redis_password") + kwargs["_redis_password"] = redis_password + + ray.init( + logging_level=logging.ERROR if not test_mode else logging.DEBUG, + log_to_driver=test_mode, + local_mode=local_mode, + num_gpus=num_gpus, + ignore_reinit_error=True, + include_dashboard=False, + **kwargs + ) + print("Successfully initialize Ray!") + try: + print("Available resources: ", ray.available_resources()) + except Exception: + pass + + +def get_train_parser(): + parser = argparse.ArgumentParser() + parser.add_argument("--exp-name", type=str, default="") + parser.add_argument("--num-gpus", type=int, default=0) + parser.add_argument("--num-seeds", type=int, default=3) + parser.add_argument("--num-cpus-per-worker", type=float, default=0.5) + parser.add_argument("--num-gpus-per-trial", type=float, default=0.25) + parser.add_argument("--test", action="store_true") + return parser + + +def setup_logger(debug=False): + import logging + logging.basicConfig( + level=logging.DEBUG if debug else logging.WARNING, + format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s' + ) + + +def get_time_str(): + return datetime.datetime.now().strftime("%y%m%d-%H%M%S") + + +def get_exp_name(args): + if args.exp_name != "": + exp_name = args.exp_name + "_" + get_time_str() + else: + exp_name = "TEST" + return exp_name + + +def get_eval_config(config): + eval_config = copy.deepcopy(config) + eval_config.pop("evaluation_interval") + eval_config.pop("evaluation_num_episodes") + eval_config.pop("evaluation_config") + eval_config.pop("evaluation_num_workers") + return eval_config + + +def get_function(ckpt, explore, config): + trainer = MultiWorkerPPO(get_eval_config(config)) + trainer.restore(ckpt) + + def _f(obs): + ret = trainer.compute_actions({"default_policy": obs}, explore=explore) + return ret + + return _f + + +def eval_ckpt(config, + ckpt_path, + scenario_data_path, + num_scenarios, + start_scenario_index, + horizon=600, + render=False, + # PPO is a stochastic policy, turning off exploration can reduce jitter but may harm performance + explore=True, + log_interval=None, + ): + initialize_ray(test_mode=False, num_gpus=1) + # 27 29 30 37 39 + env_config = get_eval_config(config)["env_config"] + env_config.update(dict( + start_scenario_index=start_scenario_index, + num_scenarios=num_scenarios, + sequential_seed=True, + curriculum_level=1, # disable curriculum + target_success_rate=1, + horizon=horizon, + episodes_to_evaluate_curriculum=num_scenarios, + data_directory=scenario_data_path, + use_render=render)) + env = ScenarioEnv(env_config) + + super_data = defaultdict(list) + EPISODE_NUM = env.config["num_scenarios"] + compute_actions = get_function(ckpt_path, explore=explore, config=config) + + o = env.reset() + assert env.current_seed == start_scenario_index, "Wrong start seed!" + + total_cost = 0 + total_reward = 0 + success_rate = 0 + ep_cost = 0 + ep_reward = 0 + success_flag = False + step = 0 + + def log_msg(): + print("CKPT:{} | success_rate:{}, mean_episode_reward:{}, mean_episode_cost:{}".format(epi_num, + success_rate / epi_num, + total_reward / epi_num, + total_cost / epi_num)) + + for epi_num in tqdm.tqdm(range(0, EPISODE_NUM)): + step += 1 + action_to_send = compute_actions(o)["default_policy"] + o, r, d, info = env.step(action_to_send) + if env.config["use_render"]: + env.render(text={"reward": r}) + total_reward += r + ep_reward += r + total_cost += info["cost"] + ep_cost += info["cost"] + if d or step > horizon: + if info["arrive_dest"]: + success_rate += 1 + success_flag = True + o = env.reset() + + super_data[0].append( + {"reward": ep_reward, + "success": success_flag, + "out_of_road": info[TerminationState.OUT_OF_ROAD], + "cost": ep_cost, + "seed": env.current_seed, + "route_completion": info["route_completion"]}) + + ep_cost = 0.0 + ep_reward = 0.0 + success_flag = False + step = 0 + + if log_interval is not None and epi_num % log_interval == 0: + log_msg() + if log_interval is not None: + log_msg() + del compute_actions + env.close() + with open("eval_ret_{}_{}_{}.json".format(start_scenario_index, + start_scenario_index + num_scenarios, + get_time_str()), "w") as f: + json.dump(super_data, f) + return super_data diff --git a/scenarionet_training/wandb_utils/__init__.py b/scenarionet_training/wandb_utils/__init__.py new file mode 100644 index 0000000..0959e0f --- /dev/null +++ b/scenarionet_training/wandb_utils/__init__.py @@ -0,0 +1,3 @@ +import os + +WANDB_KEY_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "wandb_api_key_file.txt") diff --git a/scenarionet_training/wandb_utils/our_wandb_callbacks.py b/scenarionet_training/wandb_utils/our_wandb_callbacks.py new file mode 100644 index 0000000..ffb69b3 --- /dev/null +++ b/scenarionet_training/wandb_utils/our_wandb_callbacks.py @@ -0,0 +1,67 @@ +from ray.tune.integration.wandb import WandbLoggerCallback, _clean_log, \ + Queue, WandbLogger + + +class OurWandbLoggerCallback(WandbLoggerCallback): + def __init__(self, exp_name, *args, **kwargs): + super(OurWandbLoggerCallback, self).__init__(*args, **kwargs) + self.exp_name = exp_name + + def log_trial_start(self, trial: "Trial"): + config = trial.config.copy() + + config.pop("callbacks", None) # Remove callbacks + + exclude_results = self._exclude_results.copy() + + # Additional excludes + exclude_results += self.excludes + + # Log config keys on each result? + if not self.log_config: + exclude_results += ["config"] + + # Fill trial ID and name + trial_id = trial.trial_id if trial else None + # trial_name = str(trial) if trial else None + + # Project name for Wandb + wandb_project = self.project + + # Grouping + wandb_group = self.group or trial.trainable_name if trial else None + + # remove unpickleable items! + config = _clean_log(config) + + assert trial_id is not None + run_name = "{}_{}".format(self.exp_name, trial_id) + + wandb_init_kwargs = dict( + id=trial_id, + name=run_name, + resume=True, + reinit=True, + allow_val_change=True, + group=wandb_group, + project=wandb_project, + config=config + ) + wandb_init_kwargs.update(self.kwargs) + + self._trial_queues[trial] = Queue() + self._trial_processes[trial] = self._logger_process_cls( + queue=self._trial_queues[trial], + exclude=exclude_results, + to_config=self._config_results, + **wandb_init_kwargs + ) + self._trial_processes[trial].start() + + def __del__(self): + if self._trial_processes: + for v in self._trial_processes.values(): + if hasattr(v, "close"): + v.close() + self._trial_processes.clear() + self._trial_processes = {} diff --git a/scenarionet_training/wandb_utils/our_wandb_callbacks_ray100.py b/scenarionet_training/wandb_utils/our_wandb_callbacks_ray100.py new file mode 100644 index 0000000..1c516db --- /dev/null +++ b/scenarionet_training/wandb_utils/our_wandb_callbacks_ray100.py @@ -0,0 +1,80 @@ +from multiprocessing import Queue + +from ray.tune.integration.wandb import WandbLogger, _clean_log, _set_api_key + + +class OurWandbLogger(WandbLogger): + def __init__(self, config, logdir, trial): + self.exp_name = config["logger_config"]["wandb"].pop("exp_name") + super(OurWandbLogger, self).__init__(config, logdir, trial) + + def _init(self): + + config = self.config.copy() + + config.pop("callbacks", None) # Remove callbacks + + try: + if config.get("logger_config", {}).get("wandb"): + logger_config = config.pop("logger_config") + wandb_config = logger_config.get("wandb").copy() + else: + wandb_config = config.pop("wandb").copy() + except KeyError: + raise ValueError( + "Wandb logger specified but no configuration has been passed. " + "Make sure to include a `wandb` key in your `config` dict " + "containing at least a `project` specification.") + + _set_api_key(wandb_config) + + exclude_results = self._exclude_results.copy() + + # Additional excludes + additional_excludes = wandb_config.pop("excludes", []) + exclude_results += additional_excludes + + # Log config keys on each result? + log_config = wandb_config.pop("log_config", False) + if not log_config: + exclude_results += ["config"] + + # Fill trial ID and name + trial_id = self.trial.trial_id if self.trial else None + trial_name = str(self.trial) if self.trial else None + + # Project name for Wandb + try: + wandb_project = wandb_config.pop("project") + except KeyError: + raise ValueError( + "You need to specify a `project` in your wandb `config` dict.") + + # Grouping + wandb_group = wandb_config.pop( + "group", self.trial.trainable_name if self.trial else None) + + # remove unpickleable items! + config = _clean_log(config) + + assert trial_id is not None + run_name = "{}_{}".format(self.exp_name, trial_id) + + wandb_init_kwargs = dict( + id=trial_id, + name=run_name, + resume=True, + reinit=True, + allow_val_change=True, + group=wandb_group, + project=wandb_project, + config=config) + wandb_init_kwargs.update(wandb_config) + + self._queue = Queue() + self._wandb = self._logger_process_cls( + queue=self._queue, + exclude=exclude_results, + to_config=self._config_results, + **wandb_init_kwargs) + self._wandb.start() diff --git a/scenarionet_training/wandb_utils/test_wandb.py b/scenarionet_training/wandb_utils/test_wandb.py new file mode 100644 index 0000000..56d76d8 --- /dev/null +++ b/scenarionet_training/wandb_utils/test_wandb.py @@ -0,0 +1,38 @@ +""" +Procedure to use wandb: + +1. Logup in wandb: https://wandb.ai/ +2. Get the API key in personal setting +3. Store API key (a string)to some file as: ~/wandb_api_key_file.txt +4. Install wandb: pip install wandb +5. Fill the "wandb_key_file", "wandb_project" keys in our train function. + +Note1: You don't need to specify who own "wandb_project", for example, in team "drivingforce"'s project +"representation", you only need to fill wandb_project="representation" + +Note2: In wanbd, there are "team name", "project name", "group name" and "trial_name". We only need to care +"team name" and "project name". The "team name" is set to "drivingforce" by default. You can also use None to +log result to your personal domain. The "group name" of the experiment is exactly the "exp_name" in our context, like +"0304_train_ppo" or so. + +Note3: It would be great to change the x-axis in wandb website to "timesteps_total". + +Peng Zhenghao, 20210402 +""" +from ray import tune + +from scenarionet_training.train_utils.utils import train + +if __name__ == "__main__": + config = dict(env="CartPole-v0", num_workers=0, lr=tune.grid_search([1e-2, 1e-4])) + train( + "PPO", + exp_name="test_wandb", + stop=10000, + config=config, + custom_callback=False, + test_mode=False, + local_mode=False, + wandb_project="TEST", + wandb_team="drivingforce" # drivingforce is set to default. Use None to log to your personal domain! + ) diff --git a/scenarionet_training/wandb_utils/wandb_api_key_file.txt b/scenarionet_training/wandb_utils/wandb_api_key_file.txt new file mode 100644 index 0000000..a19a4a2 --- /dev/null +++ b/scenarionet_training/wandb_utils/wandb_api_key_file.txt @@ -0,0 +1 @@ +132a8add578bdaeea5ab7a4942f35f2a17742df2 \ No newline at end of file diff --git a/setup.py b/setup.py index 02c4969..8b6b3ef 100644 --- a/setup.py +++ b/setup.py @@ -40,9 +40,18 @@ install_requires = [ "shapely" ] +train_requirement = [ + "ray[rllib]==1.0.0", + # "torch", + "wandb==0.12.1", + "aiohttp==3.6.0", + "gymnasium", + "tensorflow", + "tensorflow_probability"] + setup( name="scenarionet", - python_requires='>=3.6, <3.12', # do version check with assert + python_requires='>=3.8', # do version check with assert version=version, description="Scalable Traffic Scenario Management System", url="https://github.com/metadriverse/ScenarioNet", @@ -50,12 +59,9 @@ setup( author_email="quanyili0057@gmail.com, pzh@cs.ucla.edu", packages=packages, install_requires=install_requires, - # extras_require={ - # "cuda": cuda_requirement, - # "nuplan": nuplan_requirement, - # "waymo": waymo_requirement, - # "all": nuplan_requirement + cuda_requirement - # }, + extras_require={ + "train": train_requirement, + }, include_package_data=True, license="Apache 2.0", long_description=long_description,