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 <quanyi@bolei-gpu02.cs.ucla.edu>
This commit is contained in:
Quanyi Li
2023-06-10 18:56:33 +01:00
committed by GitHub
parent 41c0b01f39
commit db50bca7fd
53 changed files with 2274 additions and 133 deletions

View File

@@ -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