From b68d38c8a8393f76e77413b7a530ba34979e01f2 Mon Sep 17 00:00:00 2001 From: Abhishek Kadian <abhishekkadiyan@gmail.com> Date: Fri, 14 Jun 2019 23:17:01 -0700 Subject: [PATCH] =?UTF-8?q?Modify=20partitioning=20logic=20to=20handle=20l?= =?UTF-8?q?eft-over=20scenes=20due=20to=20integer=20d=E2=80=A6=20(#89)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Modify partitioning logic to handle left-over scenes due to integer division --- habitat_baselines/train_ppo.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/habitat_baselines/train_ppo.py b/habitat_baselines/train_ppo.py index f6586af21..97efa74a6 100644 --- a/habitat_baselines/train_ppo.py +++ b/habitat_baselines/train_ppo.py @@ -118,14 +118,18 @@ def construct_envs(args): ) scene_split_size = int(np.floor(len(scenes) / args.num_processes)) + scene_splits = [[] for _ in range(args.num_processes)] + for j, s in enumerate(scenes): + scene_splits[j % len(scene_splits)].append(s) + + assert sum(map(len, scene_splits)) == len(scenes) + for i in range(args.num_processes): config_env = cfg_env(config_paths=args.task_config, opts=args.opts) config_env.defrost() if len(scenes) > 0: - config_env.DATASET.CONTENT_SCENES = scenes[ - i * scene_split_size : (i + 1) * scene_split_size - ] + config_env.DATASET.POINTNAVV1.CONTENT_SCENES = scene_splits[i] config_env.SIMULATOR.HABITAT_SIM_V0.GPU_DEVICE_ID = args.sim_gpu_id -- GitLab