Skip to content

Commit 43933b2

Browse files
Speed up end-to-end training: 220K -> 320K on RTX 4080 by reducing # road points (score maintained) (#177)
* 220K -> 320K. * Reward bug fix. * Minor.
1 parent 19b5eb6 commit 43933b2

3 files changed

Lines changed: 6 additions & 10 deletions

File tree

pufferlib/config/ocean/drive.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ action_type = discrete
2525
; Options: classic, jerk
2626
dynamics_model = classic
2727
reward_vehicle_collision = -0.5
28-
reward_offroad_collision = -0.2
28+
reward_offroad_collision = -0.5
2929
reward_ade = 0.0
3030
dt = 0.1
3131
reward_goal = 1.0
@@ -53,7 +53,7 @@ init_mode = "create_all_valid"
5353

5454
[train]
5555
seed=42
56-
total_timesteps = 2_000_000_000
56+
total_timesteps = 2_500_000_000
5757
; learning_rate = 0.02
5858
; gamma = 0.985
5959
anneal_lr = True

pufferlib/ocean/drive/drive.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
// gridmap, diagonal poly-lines -> sqrt(2), include diagonal ends -> 2
7070

7171
// Observation constants
72-
#define MAX_ROAD_SEGMENT_OBSERVATIONS 200
72+
#define MAX_ROAD_SEGMENT_OBSERVATIONS 128
7373
#define MAX_AGENTS 32
7474
#define STOP_AGENT 1
7575
#define REMOVE_AGENT 2
@@ -2257,12 +2257,12 @@ void c_step(Drive *env) {
22572257

22582258
if (collision_state > 0) {
22592259
if (collision_state == VEHICLE_COLLISION) {
2260-
env->rewards[i] = env->reward_vehicle_collision;
2260+
env->rewards[i] += env->reward_vehicle_collision;
22612261
env->logs[i].episode_return += env->reward_vehicle_collision;
22622262
env->logs[i].collision_rate = 1.0f;
22632263
env->logs[i].avg_collisions_per_agent += 1.0f;
22642264
} else if (collision_state == OFFROAD) {
2265-
env->rewards[i] = env->reward_offroad_collision;
2265+
env->rewards[i] += env->reward_offroad_collision;
22662266
env->logs[i].offroad_rate = 1.0f;
22672267
env->logs[i].episode_return += env->reward_offroad_collision;
22682268
env->logs[i].avg_offroad_per_agent += 1.0f;

pufferlib/pufferl.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1370,18 +1370,14 @@ def ensure_drive_binary():
13701370
binary is always up-to-date with the latest code changes.
13711371
"""
13721372
if os.path.exists("./visualize"):
1373-
print("Removing existing visualize binary...")
13741373
os.remove("./visualize")
13751374

1376-
print("Building visualize binary...")
13771375
try:
13781376
result = subprocess.run(
13791377
["bash", "scripts/build_ocean.sh", "visualize", "local"], capture_output=True, text=True, timeout=300
13801378
)
13811379

1382-
if result.returncode == 0:
1383-
print("Successfully built visualize binary")
1384-
else:
1380+
if result.returncode != 0:
13851381
print(f"Build failed: {result.stderr}")
13861382
raise RuntimeError("Failed to build visualize binary for rendering")
13871383
except subprocess.TimeoutExpired:

0 commit comments

Comments
 (0)