* 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 <quanyi@bolei-gpu02.cs.ucla.edu>
53 lines
2.2 KiB
Python
53 lines
2.2 KiB
Python
import pkg_resources # for suppress warning
|
|
import argparse
|
|
import os
|
|
from metadrive.envs.scenario_env import ScenarioEnv
|
|
from metadrive.policy.replay_policy import ReplayEgoCarPolicy
|
|
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 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()
|
|
|
|
database_path = os.path.abspath(args.database_path)
|
|
num_scenario = get_number_of_scenarios(database_path)
|
|
if args.scenario_index is not None:
|
|
assert args.scenario_index < num_scenario, \
|
|
"The specified scenario index exceeds the scenario range: {}!".format(num_scenario)
|
|
|
|
env = ScenarioEnv(
|
|
{
|
|
"use_render": args.render,
|
|
"agent_policy": ReplayEgoCarPolicy,
|
|
"manual_control": False,
|
|
"show_interface": True,
|
|
"show_logo": False,
|
|
"show_fps": False,
|
|
"num_scenarios": num_scenario,
|
|
"horizon": 1000,
|
|
"vehicle_config": dict(
|
|
show_navi_mark=False,
|
|
no_wheel_friction=True,
|
|
lidar=dict(num_lasers=120, distance=50, num_others=4),
|
|
lane_line_detector=dict(num_lasers=12, distance=50),
|
|
side_detector=dict(num_lasers=160, distance=50)
|
|
),
|
|
"data_directory": database_path,
|
|
}
|
|
)
|
|
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={
|
|
"scenario index": env.engine.global_seed + env.config["start_scenario_index"],
|
|
})
|
|
|
|
if d and info["arrive_dest"]:
|
|
print("scenario:{}, success".format(env.engine.global_random_seed))
|
|
break
|