Skip to content

Commit f5f0b5d

Browse files
committed
Merge branch 'private-policylearn'
2 parents 00626bd + 0f53cb6 commit f5f0b5d

File tree

104 files changed

+39758
-6882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+39758
-6882
lines changed

multi_optim/configs.py

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,22 @@
1717
"seed": 0,
1818
"prefix": "debug"
1919
},
20-
"debug_no_rd": {
21-
"n_nodes": 32,
22-
"n_runs_pose": 8,
23-
"n_runs_policy": 8,
24-
"n_episodes_per_run_policy": 2,
25-
"n_epochs_per_run_policy": 2,
26-
"batch_size_policy": 16,
27-
"stats_and_eval_every": 4,
28-
"lr_pos": 1e-3,
29-
"lr_policy": 1e-3,
30-
"max_n_agents": 2,
31-
"map_name": "x.png",
32-
"seed": 0,
33-
"use_reaction_diffusion": False,
34-
"prefix": "debug_no_rd"
35-
},
20+
# "debug_no_rd": {
21+
# "n_nodes": 32,
22+
# "n_runs_pose": 8,
23+
# "n_runs_policy": 8,
24+
# "n_episodes_per_run_policy": 2,
25+
# "n_epochs_per_run_policy": 2,
26+
# "batch_size_policy": 16,
27+
# "stats_and_eval_every": 4,
28+
# "lr_pos": 1e-3,
29+
# "lr_policy": 1e-3,
30+
# "max_n_agents": 2,
31+
# "map_name": "x.png",
32+
# "seed": 0,
33+
# "use_reaction_diffusion": False,
34+
# "prefix": "debug_no_rd"
35+
# },
3636
"tiny": {
3737
"n_nodes": 16,
3838
"n_runs_pose": 64,
@@ -93,37 +93,37 @@
9393
"seed": 0,
9494
"prefix": "large"
9595
},
96-
"large_no_rd": {
97-
"n_nodes": 128,
98-
"n_runs_pose": 128,
99-
"n_runs_policy": 64,
100-
"n_episodes_per_run_policy": 256,
101-
"n_epochs_per_run_policy": 4,
102-
"batch_size_policy": 128,
103-
"stats_and_eval_every": 2,
104-
"lr_pos": 1e-3, # old value when not using RD
105-
"lr_policy": 1e-4,
106-
"max_n_agents": 10,
107-
"map_name": "x.png",
108-
"seed": 0,
109-
"use_reaction_diffusion": False,
110-
"prefix": "large_no_rd"
111-
},
112-
"large_plain": {
113-
"n_nodes": 128,
114-
"n_runs_pose": 64,
115-
"n_runs_policy": 64,
116-
"n_episodes_per_run_policy": 256,
117-
"n_epochs_per_run_policy": 4,
118-
"batch_size_policy": 128,
119-
"stats_and_eval_every": 2,
120-
"lr_pos": 1e-3,
121-
"lr_policy": 1e-4,
122-
"max_n_agents": 10,
123-
"map_name": "plain.png",
124-
"seed": 0,
125-
"prefix": "large_plain"
126-
},
96+
# "large_no_rd": {
97+
# "n_nodes": 128,
98+
# "n_runs_pose": 128,
99+
# "n_runs_policy": 64,
100+
# "n_episodes_per_run_policy": 256,
101+
# "n_epochs_per_run_policy": 4,
102+
# "batch_size_policy": 128,
103+
# "stats_and_eval_every": 2,
104+
# "lr_pos": 1e-3, # old value when not using RD
105+
# "lr_policy": 1e-4,
106+
# "max_n_agents": 10,
107+
# "map_name": "x.png",
108+
# "seed": 0,
109+
# "use_reaction_diffusion": False,
110+
# "prefix": "large_no_rd"
111+
# },
112+
# "large_plain": {
113+
# "n_nodes": 128,
114+
# "n_runs_pose": 64,
115+
# "n_runs_policy": 64,
116+
# "n_episodes_per_run_policy": 256,
117+
# "n_epochs_per_run_policy": 4,
118+
# "batch_size_policy": 128,
119+
# "stats_and_eval_every": 2,
120+
# "lr_pos": 1e-3,
121+
# "lr_policy": 1e-4,
122+
# "max_n_agents": 10,
123+
# "map_name": "plain.png",
124+
# "seed": 0,
125+
# "prefix": "large_plain"
126+
# },
127127
"mapf_benchm_random-32-32-10_debug": {
128128
"n_nodes": 50,
129129
"n_runs_pose": 4,
@@ -226,3 +226,7 @@ def augment_config_by(
226226
configs_all_maps = augment_config_by(configs, "map_name", [
227227
"c.png", "z.png"
228228
])
229+
230+
configs_more_lr_pos_s = augment_config_by(configs, "lr_pos", [
231+
1e-3, 3e-4, 1e-4, 3e-5, 1e-5
232+
])

multi_optim/eval.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,12 @@ def __init__(self, roadmap: nx.Graph, map_img: MAP_IMG,
136136
this_stats["failed_cbsr"] += 1
137137
continue
138138
# solvable by policy
139-
res = run_a_scenario(self.first_roadmap,
140-
agents, False, self.iterator_type)
139+
try:
140+
res = run_a_scenario(self.first_roadmap,
141+
agents, False, self.iterator_type)
142+
except RuntimeError:
143+
this_stats["failed_policy"] += 1
144+
continue
141145
if not res[IDX_SUCCESS]:
142146
this_stats["failed_policy"] += 1
143147
continue

multi_optim/multi_optim_run.py

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import wandb
2929
from cuda_util import pick_gpu_lowest_memory
3030
from definitions import DEFAULT_TIMEOUT_S, INVALID, MAP_IMG, PATH_W_COORDS, POS
31+
from multi_optim.configs import configs_more_lr_pos_s
3132
from planner.policylearn.edge_policy import EdgePolicyDataset, EdgePolicyModel
3233
from roadmaps.reaction_diffusion.example_figure import make_fig
3334
from roadmaps.reaction_diffusion.rd import sample_points_reaction_diffusion
@@ -297,15 +298,15 @@ def run_optimization(
297298
map_fname = f"roadmaps/odrm/odrm_eval/maps/{map_name}"
298299
if os.path.splitext(map_fname)[1] == ".png":
299300
map_img: MAP_IMG = read_map(map_fname)
300-
map_img_inflated = inflate_map_img(map_img, radius)
301+
map_img_np = np.array(map_img, dtype=np.uint8)
301302
elif os.path.splitext(map_fname)[1] == ".map":
302-
map_np = movingai_read_mapfile(map_fname)
303-
map_img = gridmap_to_map_img(map_np)
304-
# lets inflate the map a bit
305-
map_np_inflated = inflate_map(map_np, SUPER_RES_MULTIPLIER)
306-
map_img_inflated = gridmap_to_map_img(map_np_inflated)
303+
map_img_np = movingai_read_mapfile(map_fname)
304+
map_img = gridmap_to_map_img(map_img_np)
307305
else:
308306
raise ValueError(f"Unknown map file extension {map_fname}")
307+
map_ocv = cv2.Mat(map_img_np)
308+
map_img_inflated = cv2.erode(map_ocv, np.ones(
309+
(SUPER_RES_MULTIPLIER, SUPER_RES_MULTIPLIER), np.uint8))
309310

310311
B = None
311312
if load_roadmap is not None:
@@ -665,27 +666,15 @@ def clear_data_folder(prefix, save_folder):
665666
n_processes = min(tmp.cpu_count(), 16)
666667
pool = tmp.Pool(processes=n_processes)
667668

668-
for prefix in [
669-
"debug",
670-
"debug_no_rd",
671-
# "debug_map_name_c.png",
672-
# "debug_map_name_z.png",
673-
# "tiny",
674-
# "tiny_map_name_c.png",
675-
# "tiny_map_name_z.png",
676-
# "tiny_plain",
677-
# "small",
678-
# "small_map_name_c.png",
679-
# "small_map_name_z.png",
680-
# "medium",
681-
# "medium_map_name_c.png",
682-
# "medium_map_name_z.png",
683-
"large",
684-
"large_no_rd",
685-
# "large_map_name_c.png",
686-
# "large_map_name_z.png",
687-
# "large_plain",
688-
]:
669+
configs_to_run = {
670+
k: v for k, v in configs_more_lr_pos_s.items() if k.startswith("debug")
671+
# or k.startswith("large")
672+
}
673+
674+
prefixes_to_run = sorted(configs_to_run.keys())
675+
print(f"Running {len(prefixes_to_run)} configs: {prefixes_to_run}")
676+
677+
for prefix in prefixes_to_run:
689678
if prefix.startswith("debug"):
690679
level = logging.DEBUG
691680
else:
@@ -703,7 +692,7 @@ def clear_data_folder(prefix, save_folder):
703692

704693
# start the actual run
705694
run_optimization(
706-
**configs_all_maps[prefix],
695+
**configs_to_run[prefix],
707696
pool_in=pool)
708697

709698
pool.close()

multi_optim/results/debug_end.png

-4.81 KB
Loading
-177 Bytes
Binary file not shown.
41.2 KB
Loading
Binary file not shown.
Binary file not shown.
Loading
Loading

0 commit comments

Comments
 (0)