From 4b5363a0d656225efcfe66335bb79d33f91decea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=85=88=E7=94=9F?= Date: Sun, 31 Mar 2024 14:47:46 -0400 Subject: [PATCH 01/31] pass single process test --- syllabus/core/curriculum_base.py | 86 +++++++++++++++---- syllabus/curricula/annealing_box.py | 16 ++-- syllabus/curricula/noop.py | 2 + syllabus/curricula/plr/central_plr_wrapper.py | 4 +- syllabus/curricula/plr/plr_wrapper.py | 4 +- syllabus/curricula/sequential.py | 14 ++- syllabus/curricula/simple_box.py | 8 +- tests/multiprocessing_smoke_tests.py | 38 ++++---- 8 files changed, 117 insertions(+), 55 deletions(-) diff --git a/syllabus/core/curriculum_base.py b/syllabus/core/curriculum_base.py index 03284dab..34ac0872 100644 --- a/syllabus/core/curriculum_base.py +++ b/syllabus/core/curriculum_base.py @@ -3,8 +3,8 @@ from typing import Any, Callable, List, Tuple, Union import numpy as np -from gymnasium.spaces import Dict - +from gymnasium.spaces import Dict, Box +import random from syllabus.task_space import TaskSpace @@ -13,24 +13,32 @@ class Curriculum: """Base class and API for defining curricula to interface with Gym environments. """ - def __init__(self, task_space: TaskSpace, random_start_tasks: int = 0, task_names: Callable = None) -> None: + def __init__(self, task_space: TaskSpace, task_names: Callable = None, warmup_strategy: str = None, warmup_samples: int = 0) -> None: """Initialize the base Curriculum :param task_space: the environment's task space from which new tasks are sampled TODO: Implement this in a way that works with any curriculum, maybe as a wrapper - :param random_start_tasks: Number of uniform random tasks to sample before using the algorithm's sample method, defaults to 0 TODO: Use task space for this :param task_names: Names of the tasks in the task space, defaults to None """ assert isinstance(task_space, TaskSpace), f"task_space must be a TaskSpace object. Got {type(task_space)} instead." self.task_space = task_space - self.random_start_tasks = random_start_tasks self.completed_tasks = 0 self.task_names = task_names self.n_updates = 0 + self.sampled_tasks = 0 + self.warmup_strategy = warmup_strategy + self.warmup_tasks = warmup_samples + self.fix_curr_index = 0 + + # print(self.warmup_tasks) - if self.num_tasks == 0: + if self.num_tasks is None: + warnings.warn("Task space is continuous. Number of warmup tasks can't be compared to the task space size.") + elif self.num_tasks == 0: warnings.warn("Task space is empty. This will cause errors during sampling if no tasks are added.") + elif warmup_samples > self.num_tasks: + warnings.warn("Number of warmup tasks is larger than task space, some tasks will be replayed during warmup.") @property def requires_step_updates(self) -> bool: @@ -174,12 +182,44 @@ def _sample_distribution(self) -> List[float]: raise NotImplementedError def _should_use_startup_sampling(self) -> bool: - return self.random_start_tasks > 0 and self.completed_tasks < self.random_start_tasks + return self.warmup_strategy != "none" and self.sampled_tasks < self.warmup_tasks + + def _startup_sample(self, k: int) -> List: + sampled_tasks = [] + + if isinstance(self.task_space.gym_space, Box): + # Handle Box spaces by sampling evenly along the range for warmup + dims = self.task_space.gym_space.shape[0] # Assuming a simple case where space is a flat Box + samples_per_dim = int(round(pow(k, 1/dims))) # Approximate evenly across dimensions + + # Generate evenly spaced values within each dimension + ranges = [np.linspace(self.task_space.gym_space.low[i], self.task_space.gym_space.high[i], samples_per_dim) for i in range(dims)] + + # Create a grid of samples across the dimensions + grid = np.meshgrid(*ranges) + sampled_tasks = [tuple(grid[i].flatten()[j] for i in range(dims)) for j in range(samples_per_dim**dims)] + + self.sampled_tasks += k + print("box") + elif self.warmup_strategy == "fix": + if self.fix_curr_index + k > self.num_tasks: + sampled_tasks = self.tasks[self.fix_curr_index:self.num_tasks] + self.fix_curr_index = self.fix_curr_index + k - self.num_tasks + sampled_tasks.extend(self.tasks[0:(self.fix_curr_index)]) + else: + sampled_tasks = self.tasks[self.fix_curr_index:self.fix_curr_index + k] + self.fix_curr_index += k + self.sampled_tasks += k + print("fix") + + elif self.warmup_strategy == "random": + # Allows sampling with replacement, making duplicates possible if k > num_tasks. + indices = random.choices(range(self.num_tasks), k=k) + sampled_tasks = [self.tasks[idx] for idx in indices] + self.sampled_tasks += k + print("random") - def _startup_sample(self) -> List: - task_dist = [0.0 / self.num_tasks for _ in range(self.num_tasks)] - task_dist[0] = 1.0 - return task_dist + return sampled_tasks def sample(self, k: int = 1) -> Union[List, Any]: """Sample k tasks from the curriculum. @@ -190,14 +230,22 @@ def sample(self, k: int = 1) -> Union[List, Any]: assert self.num_tasks > 0, "Task space is empty. Please add tasks to the curriculum before sampling." if self._should_use_startup_sampling(): - return self._startup_sample() - - # Use list of indices because np.choice does not play nice with tuple tasks - # tasks = self.tasks - n_tasks = self.num_tasks - task_dist = self._sample_distribution() - task_idx = np.random.choice(list(range(n_tasks)), size=k, p=task_dist) - return task_idx + tasks = self._startup_sample(k) + # Check if the startup sampling has satisfied the request or if there's no progress (no tasks returned) + if len(tasks) < k and len(tasks) > 0: # Proceed only if we made progress + additional_tasks = self.sample(k=k-len(tasks)) + tasks.extend(additional_tasks) + return tasks + else: + task_dist = self._sample_distribution() + + # Normal sampling process + tasks = self.tasks + n_tasks = len(tasks) + task_idx = np.random.choice(range(n_tasks), size=k, p=task_dist) + self.sampled_tasks += k + print("Normal") + return [tasks[i] for i in task_idx] def log_metrics(self, writer, step=None, log_full_dist=False): """Log the task distribution to the provided tensorboard writer. diff --git a/syllabus/curricula/annealing_box.py b/syllabus/curricula/annealing_box.py index 6c565ec6..56d30df5 100644 --- a/syllabus/curricula/annealing_box.py +++ b/syllabus/curricula/annealing_box.py @@ -48,9 +48,13 @@ def sample(self, k: int = 1) -> Union[List, Any]: Sample k tasks from the curriculum. """ # Linear annealing from start_values to end_values - annealed_values = ( - self.start_values + (self.end_values - self.start_values) * - np.minimum(self.current_step, self.total_steps) / self.total_steps - ) - - return [annealed_values.copy() for _ in range(k)] \ No newline at end of file + if self._should_use_startup_sampling(): + return self._startup_sample(k) + else: + print("AnnealingBoxCurriculum") + annealed_values = ( + self.start_values + (self.end_values - self.start_values) * + np.minimum(self.current_step, self.total_steps) / self.total_steps + ) + self.sampled_tasks += k + return [annealed_values.copy() for _ in range(k)] \ No newline at end of file diff --git a/syllabus/curricula/noop.py b/syllabus/curricula/noop.py index f6bd5dc7..08bf0851 100644 --- a/syllabus/curricula/noop.py +++ b/syllabus/curricula/noop.py @@ -19,6 +19,8 @@ def sample(self, k: int = 1) -> Union[List, Any]: """ Sample k tasks from the curriculum. """ + print("NoopCurriculum") + self.sampled_tasks += k return [self.default_task for _ in range(k)] def update_task_progress(self, task, success_prob, env_id: int = None) -> None: diff --git a/syllabus/curricula/plr/central_plr_wrapper.py b/syllabus/curricula/plr/central_plr_wrapper.py index 7f69ea85..9b15d3e1 100644 --- a/syllabus/curricula/plr/central_plr_wrapper.py +++ b/syllabus/curricula/plr/central_plr_wrapper.py @@ -215,8 +215,10 @@ def _sample_distribution(self) -> List[float]: def sample(self, k: int = 1) -> Union[List, Any]: self.num_samples += 1 if self._should_use_startup_sampling(): - return self._startup_sample() + return self._startup_sample(k) else: + print("PrioritizedLevelReplay") + self.sampled_tasks += k return [self._task_sampler.sample() for _ in range(k)] def _enumerate_tasks(self, space): diff --git a/syllabus/curricula/plr/plr_wrapper.py b/syllabus/curricula/plr/plr_wrapper.py index 9515df4b..3d880d33 100644 --- a/syllabus/curricula/plr/plr_wrapper.py +++ b/syllabus/curricula/plr/plr_wrapper.py @@ -248,8 +248,10 @@ def _sample_distribution(self) -> List[float]: def sample(self, k: int = 1) -> Union[List, Any]: if self._should_use_startup_sampling(): - return self._startup_sample() + return self._startup_sample(k) else: + print("PrioritizedLevelReplay") + self.sampled_tasks += k return [self._task_sampler.sample() for _ in range(k)] def update_on_step(self, obs, rew, term, trunc, info, env_id: int = None) -> None: diff --git a/syllabus/curricula/sequential.py b/syllabus/curricula/sequential.py index baa12637..9b601459 100644 --- a/syllabus/curricula/sequential.py +++ b/syllabus/curricula/sequential.py @@ -19,7 +19,7 @@ def __init__(self, curriculum_list: List[Curriculum], stopping_conditions: List[ if len(curriculum_list) == 1: warnings.warn("Your sequential curriculum only containes one element. Consider using that element directly instead.") - self.curriculum_list = self._parse_curriculum_list(curriculum_list) + self.curriculum_list = self._parse_curriculum_list(curriculum_list, warmup_strategy=self.warmup_strategy, warmup_samples=self.warmup_tasks) self.stopping_conditions = self._parse_stopping_conditions(stopping_conditions) self._curriculum_index = 0 @@ -32,7 +32,7 @@ def __init__(self, curriculum_list: List[Curriculum], stopping_conditions: List[ self.total_tasks = 0 self.episode_returns = [] - def _parse_curriculum_list(self, curriculum_list: List[Curriculum]) -> List[Curriculum]: + def _parse_curriculum_list(self, curriculum_list: List[Curriculum], warmup_strategy: str, warmup_samples: int) -> List[Curriculum]: """ Parse the curriculum list to ensure that all items are curricula. Adds Curriculum objects directly. Wraps task space items in NoopCurriculum objects. """ @@ -40,16 +40,14 @@ def _parse_curriculum_list(self, curriculum_list: List[Curriculum]) -> List[Curr for item in curriculum_list: if isinstance(item, Curriculum): parsed_list.append(item) - elif isinstance(item, TaskSpace): - parsed_list.append(DomainRandomization(item)) - elif isinstance(item, list): - task_space = TaskSpace(len(item), item) - parsed_list.append(DomainRandomization(task_space)) + elif isinstance(item, TaskSpace) or isinstance(item, list): + curriculum_obj = DomainRandomization(item, warmup_strategy=warmup_strategy, warmup_samples=warmup_samples) if isinstance(item, TaskSpace) else DomainRandomization(TaskSpace(len(item), item), warmup_strategy=warmup_strategy, warmup_samples=warmup_samples) + parsed_list.append(curriculum_obj) elif self.task_space.contains(item): parsed_list.append(NoopCurriculum(item, self.task_space)) else: raise ValueError(f"Invalid curriculum item: {item}") - + return parsed_list def _parse_stopping_conditions(self, stopping_conditions: List[Any]) -> List[Any]: diff --git a/syllabus/curricula/simple_box.py b/syllabus/curricula/simple_box.py index 97ed6e7e..a211da6b 100644 --- a/syllabus/curricula/simple_box.py +++ b/syllabus/curricula/simple_box.py @@ -60,4 +60,10 @@ def sample(self, k: int = 1) -> Union[List, Any]: """ Sample k tasks from the curriculum. """ - return [self.max_range for _ in range(k)] + if self._should_use_startup_sampling(): + return self._startup_sample(k) + else: + print("SimpleBoxCurriculum") + self.sampled_tasks += k + return [self.max_range for _ in range(k)] + \ No newline at end of file diff --git a/tests/multiprocessing_smoke_tests.py b/tests/multiprocessing_smoke_tests.py index 9db9f471..44fc74eb 100644 --- a/tests/multiprocessing_smoke_tests.py +++ b/tests/multiprocessing_smoke_tests.py @@ -13,8 +13,8 @@ get_test_values, run_native_multiprocess, run_ray_multiprocess, run_single_process) -N_ENVS = 2 -N_EPISODES = 2 +N_ENVS = 1 +N_EPISODES = 20 nethack_env = create_nethack_env() @@ -50,26 +50,26 @@ def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): single_kwargs = kwargs.copy() if "num_processes" in single_kwargs: single_kwargs["num_processes"] = 1 - test_curriculum = curriculum(*args, **single_kwargs) + test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") -@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): - # Test Queue multiprocess speed with Syllabus - test_curriculum = curriculum(*args, **kwargs) - test_curriculum = make_multiprocessing_curriculum(test_curriculum) - print("\nRUNNING: Python multiprocess test with Syllabus...") - native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) - print(f"PASSED: Python multiprocess test with Syllabus: {native_syllabus_speed:.2f}s") +# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +# def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): +# # Test Queue multiprocess speed with Syllabus +# test_curriculum = curriculum(*args, **kwargs) +# test_curriculum = make_multiprocessing_curriculum(test_curriculum) +# print("\nRUNNING: Python multiprocess test with Syllabus...") +# native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) +# print(f"PASSED: Python multiprocess test with Syllabus: {native_syllabus_speed:.2f}s") -@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): - # Test Ray multiprocess speed with Syllabus - test_curriculum = curriculum(*args, **kwargs) - test_curriculum = make_ray_curriculum(test_curriculum) - print("\nRUNNING: Ray multiprocess test with Syllabus...") - ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) - print(f"PASSED: Ray multiprocess test with Syllabus: {ray_syllabus_speed:.2f}s") +# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +# def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): +# # Test Ray multiprocess speed with Syllabus +# test_curriculum = curriculum(*args, **kwargs) +# test_curriculum = make_ray_curriculum(test_curriculum) +# print("\nRUNNING: Ray multiprocess test with Syllabus...") +# ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) +# print(f"PASSED: Ray multiprocess test with Syllabus: {ray_syllabus_speed:.2f}s") From ce3c005b36550e278c9c0d9f57a3e7c8ce4aa97b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=85=88=E7=94=9F?= Date: Mon, 15 Apr 2024 23:11:38 -0400 Subject: [PATCH 02/31] Your commit message --- syllabus/core/curriculum_base.py | 2 +- tests/multiprocessing_smoke_tests.py | 6 +- tests/single_process_test.py | 112 +++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 tests/single_process_test.py diff --git a/syllabus/core/curriculum_base.py b/syllabus/core/curriculum_base.py index 34ac0872..4e439b3c 100644 --- a/syllabus/core/curriculum_base.py +++ b/syllabus/core/curriculum_base.py @@ -181,7 +181,7 @@ def _sample_distribution(self) -> List[float]: """ raise NotImplementedError - def _should_use_startup_sampling(self) -> bool: + def _should_use_startup_sampling(self) -> bool: return self.warmup_strategy != "none" and self.sampled_tasks < self.warmup_tasks def _startup_sample(self, k: int) -> List: diff --git a/tests/multiprocessing_smoke_tests.py b/tests/multiprocessing_smoke_tests.py index 44fc74eb..2ca6bb1f 100644 --- a/tests/multiprocessing_smoke_tests.py +++ b/tests/multiprocessing_smoke_tests.py @@ -13,7 +13,7 @@ get_test_values, run_native_multiprocess, run_ray_multiprocess, run_single_process) -N_ENVS = 1 +N_ENVS = 2 N_EPISODES = 20 @@ -58,7 +58,7 @@ def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): # @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) # def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): # # Test Queue multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, **kwargs) +# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) # test_curriculum = make_multiprocessing_curriculum(test_curriculum) # print("\nRUNNING: Python multiprocess test with Syllabus...") # native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) @@ -68,7 +68,7 @@ def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): # @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) # def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): # # Test Ray multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, **kwargs) +# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) # test_curriculum = make_ray_curriculum(test_curriculum) # print("\nRUNNING: Ray multiprocess test with Syllabus...") # ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) diff --git a/tests/single_process_test.py b/tests/single_process_test.py new file mode 100644 index 00000000..78703d80 --- /dev/null +++ b/tests/single_process_test.py @@ -0,0 +1,112 @@ +""" Test curriculum synchronization across multiple processes. """ +import pytest +from nle.env.tasks import NetHackScore, NetHackScout, NetHackStaircase + +from syllabus.core import make_multiprocessing_curriculum, make_ray_curriculum +from syllabus.curricula import (AnnealingBoxCurriculum, + CentralizedPrioritizedLevelReplay, + DomainRandomization, + LearningProgressCurriculum, NoopCurriculum, + PrioritizedLevelReplay, SequentialCurriculum, + SimpleBoxCurriculum) +from syllabus.tests import (create_cartpole_env, create_nethack_env, + get_test_values, run_native_multiprocess, + run_ray_multiprocess, run_single_process, run_episode) + +N_ENVS = 1 +N_EPISODES = 34 + + +nethack_env = create_nethack_env() +cartpole_env = create_cartpole_env() + +curricula = [ + (NoopCurriculum, create_nethack_env, (NetHackScore, nethack_env.task_space), {}), + (DomainRandomization, create_nethack_env, (nethack_env.task_space,), {}), + # (LearningProgressCurriculum, create_nethack_env, (nethack_env.task_space,), {}), + (CentralizedPrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space,), {"device": "cpu", "suppress_usage_warnings": True, "num_processes": N_ENVS}), + (PrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space, nethack_env.observation_space), { + "get_value": get_test_values, + "device": "cpu", + "num_processes": N_ENVS, + "num_steps": 2048 + }), + (SimpleBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), {}), + (AnnealingBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), { + 'start_values': [-0.02, 0.02], + 'end_values': [-0.3, 0.3], + 'total_steps': [10] + }), + (SequentialCurriculum, create_nethack_env, ([CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS), PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048), NetHackScore, [NetHackScout, NetHackStaircase]], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), +] + +test_names = [curriculum_args[0].__name__ for curriculum_args in curricula] + + +curricula_2 = [ + (NoopCurriculum, create_nethack_env, (NetHackScore, nethack_env.task_space), {}), + (DomainRandomization, create_nethack_env, (nethack_env.task_space,), {}), + # (LearningProgressCurriculum, create_nethack_env, (nethack_env.task_space,), {}), + (CentralizedPrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space,), {"device": "cpu", "suppress_usage_warnings": True, "num_processes": N_ENVS}), + (PrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space, nethack_env.observation_space), { + "get_value": get_test_values, + "device": "cpu", + "num_processes": N_ENVS, + "num_steps": 2048 + }), + (SimpleBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), {}), + (AnnealingBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), { + 'start_values': [-0.02, 0.02], + 'end_values': [-0.3, 0.3], + 'total_steps': [10] + }), + # (SequentialCurriculum, create_nethack_env, ([CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS), PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048), NetHackScore, [NetHackScout, NetHackStaircase]], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), +] +test_names_2 = [curriculum_args[0].__name__ for curriculum_args in curricula_2] +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula_2, ids=test_names_2) +def test_multiprocessing_sync_single_process_fix(curriculum, env_fn, args, kwargs): + # Test single process speed + print("RUNNING: Python single process test (1 env)...") + single_kwargs = kwargs.copy() + if "num_processes" in single_kwargs: + single_kwargs["num_processes"] = 1 + test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=26, **kwargs) + env = env_fn(env_args=(), env_kwargs={}) + ep_rews = [] + for i in range(N_EPISODES): + if test_curriculum: + if i == N_EPISODES - 9 and (not isinstance(test_curriculum, NoopCurriculum)): + assert test_curriculum._should_use_startup_sampling() == True + if i == N_EPISODES - 8 and (not isinstance(test_curriculum, NoopCurriculum)): + assert test_curriculum._should_use_startup_sampling() == False + task = env.task_space.decode(test_curriculum.sample()[0]) + ep_rews.append(run_episode(env, new_task=task, curriculum=test_curriculum, env_id=0)) + else: + ep_rews.append(run_episode(env)) + env.close() + print(f"PASSED: single process test on fix sampling (1 env) passed") + +test_names_2 = [curriculum_args[0].__name__ for curriculum_args in curricula_2] +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula_2, ids=test_names_2) +def test_multiprocessing_sync_single_process_random(curriculum, env_fn, args, kwargs): + # Test single process speed + print("RUNNING: Python single process test (1 env)...") + single_kwargs = kwargs.copy() + if "num_processes" in single_kwargs: + single_kwargs["num_processes"] = 1 + test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=26, **kwargs) + env = env_fn(env_args=(), env_kwargs={}) + ep_rews = [] + for i in range(N_EPISODES): + if test_curriculum: + if i == N_EPISODES - 9 and (not isinstance(test_curriculum, NoopCurriculum)): + assert test_curriculum._should_use_startup_sampling() == True + if i == N_EPISODES - 8 and (not isinstance(test_curriculum, NoopCurriculum)): + assert test_curriculum._should_use_startup_sampling() == False + task = env.task_space.decode(test_curriculum.sample()[0]) + ep_rews.append(run_episode(env, new_task=task, curriculum=test_curriculum, env_id=0)) + else: + ep_rews.append(run_episode(env)) + env.close() + print(f"PASSED: single process test on random sampling (1 env) passed") + From d97f8fc1a3e97df213bfbbe07920917b03ae1b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=85=88=E7=94=9F?= Date: Tue, 16 Apr 2024 21:42:59 -0400 Subject: [PATCH 03/31] did some changes --- syllabus/core/curriculum_base.py | 79 ++++++++++--------- syllabus/curricula/annealing_box.py | 15 ++-- syllabus/curricula/noop.py | 2 - syllabus/curricula/plr/central_plr_wrapper.py | 6 +- syllabus/curricula/plr/plr_wrapper.py | 6 +- syllabus/curricula/plr/task_sampler.py | 2 + syllabus/curricula/sequential.py | 12 +-- syllabus/curricula/simple_box.py | 6 +- tests/multiprocessing_smoke_tests.py | 40 +++++----- tests/single_process_test.py | 1 + 10 files changed, 85 insertions(+), 84 deletions(-) diff --git a/syllabus/core/curriculum_base.py b/syllabus/core/curriculum_base.py index 4e439b3c..1ac14c04 100644 --- a/syllabus/core/curriculum_base.py +++ b/syllabus/core/curriculum_base.py @@ -31,8 +31,6 @@ def __init__(self, task_space: TaskSpace, task_names: Callable = None, warmup_st self.warmup_tasks = warmup_samples self.fix_curr_index = 0 - # print(self.warmup_tasks) - if self.num_tasks is None: warnings.warn("Task space is continuous. Number of warmup tasks can't be compared to the task space size.") elif self.num_tasks == 0: @@ -188,37 +186,46 @@ def _startup_sample(self, k: int) -> List: sampled_tasks = [] if isinstance(self.task_space.gym_space, Box): - # Handle Box spaces by sampling evenly along the range for warmup - dims = self.task_space.gym_space.shape[0] # Assuming a simple case where space is a flat Box - samples_per_dim = int(round(pow(k, 1/dims))) # Approximate evenly across dimensions - - # Generate evenly spaced values within each dimension - ranges = [np.linspace(self.task_space.gym_space.low[i], self.task_space.gym_space.high[i], samples_per_dim) for i in range(dims)] - - # Create a grid of samples across the dimensions - grid = np.meshgrid(*ranges) - sampled_tasks = [tuple(grid[i].flatten()[j] for i in range(dims)) for j in range(samples_per_dim**dims)] - - self.sampled_tasks += k - print("box") - elif self.warmup_strategy == "fix": - if self.fix_curr_index + k > self.num_tasks: - sampled_tasks = self.tasks[self.fix_curr_index:self.num_tasks] - self.fix_curr_index = self.fix_curr_index + k - self.num_tasks - sampled_tasks.extend(self.tasks[0:(self.fix_curr_index)]) - else: - sampled_tasks = self.tasks[self.fix_curr_index:self.fix_curr_index + k] - self.fix_curr_index += k - self.sampled_tasks += k - print("fix") - - elif self.warmup_strategy == "random": - # Allows sampling with replacement, making duplicates possible if k > num_tasks. - indices = random.choices(range(self.num_tasks), k=k) - sampled_tasks = [self.tasks[idx] for idx in indices] - self.sampled_tasks += k - print("random") - + if self.warmup_strategy == "fix": + dims = self.task_space.gym_space.shape[0] + samples_per_dim = int(round(pow(k, 1/dims))) + + ranges = [np.linspace(self.task_space.gym_space.low[i], self.task_space.gym_space.high[i], samples_per_dim) for i in range(dims)] + + # Create a grid of samples across the dimensions + grid = np.meshgrid(*ranges, indexing='ij') + total_samples = samples_per_dim ** dims + grid_flattened = [g.flatten() for g in grid] + start_index = self.fix_curr_index % total_samples + indices = [(start_index + i) % total_samples for i in range(k)] + + for index in indices: + task = [] # Create an empty list to hold the elements of each task + for dim in range(dims): + task.append(grid_flattened[dim][index]) # Append the appropriate value from the flattened grid + sampled_tasks.append(tuple(task)) # Convert the list to a tuple and append to sampled_tasks + + self.fix_curr_index = (self.fix_curr_index + k) % total_samples + + elif self.warmup_strategy == "random": + sampled_tasks = [self.task_space.gym_space.sample() for _ in range(k)] + + else: + if self.warmup_strategy == "fix": + if self.fix_curr_index + k > self.num_tasks: + sampled_tasks = self.tasks[self.fix_curr_index:self.num_tasks] + self.fix_curr_index = self.fix_curr_index + k - self.num_tasks + sampled_tasks.extend(self.tasks[0:(self.fix_curr_index)]) + else: + sampled_tasks = self.tasks[self.fix_curr_index:self.fix_curr_index + k] + self.fix_curr_index += k + + elif self.warmup_strategy == "random": + # Allows sampling with replacement, making duplicates possible if k > num_tasks. + indices = random.choices(range(self.num_tasks), k=k) + sampled_tasks = [self.tasks[idx] for idx in indices] + + self.sampled_tasks += k return sampled_tasks def sample(self, k: int = 1) -> Union[List, Any]: @@ -232,12 +239,12 @@ def sample(self, k: int = 1) -> Union[List, Any]: if self._should_use_startup_sampling(): tasks = self._startup_sample(k) # Check if the startup sampling has satisfied the request or if there's no progress (no tasks returned) - if len(tasks) < k and len(tasks) > 0: # Proceed only if we made progress + if len(tasks) > 0 and len(tasks) < k: # Check if we need to add more tasks additional_tasks = self.sample(k=k-len(tasks)) tasks.extend(additional_tasks) return tasks - else: - task_dist = self._sample_distribution() + + task_dist = self._sample_distribution() # Normal sampling process tasks = self.tasks diff --git a/syllabus/curricula/annealing_box.py b/syllabus/curricula/annealing_box.py index 56d30df5..493dea67 100644 --- a/syllabus/curricula/annealing_box.py +++ b/syllabus/curricula/annealing_box.py @@ -50,11 +50,10 @@ def sample(self, k: int = 1) -> Union[List, Any]: # Linear annealing from start_values to end_values if self._should_use_startup_sampling(): return self._startup_sample(k) - else: - print("AnnealingBoxCurriculum") - annealed_values = ( - self.start_values + (self.end_values - self.start_values) * - np.minimum(self.current_step, self.total_steps) / self.total_steps - ) - self.sampled_tasks += k - return [annealed_values.copy() for _ in range(k)] \ No newline at end of file + + annealed_values = ( + self.start_values + (self.end_values - self.start_values) * + np.minimum(self.current_step, self.total_steps) / self.total_steps + ) + + return [annealed_values.copy() for _ in range(k)] \ No newline at end of file diff --git a/syllabus/curricula/noop.py b/syllabus/curricula/noop.py index 08bf0851..f6bd5dc7 100644 --- a/syllabus/curricula/noop.py +++ b/syllabus/curricula/noop.py @@ -19,8 +19,6 @@ def sample(self, k: int = 1) -> Union[List, Any]: """ Sample k tasks from the curriculum. """ - print("NoopCurriculum") - self.sampled_tasks += k return [self.default_task for _ in range(k)] def update_task_progress(self, task, success_prob, env_id: int = None) -> None: diff --git a/syllabus/curricula/plr/central_plr_wrapper.py b/syllabus/curricula/plr/central_plr_wrapper.py index 9b15d3e1..5092ce7b 100644 --- a/syllabus/curricula/plr/central_plr_wrapper.py +++ b/syllabus/curricula/plr/central_plr_wrapper.py @@ -216,10 +216,8 @@ def sample(self, k: int = 1) -> Union[List, Any]: self.num_samples += 1 if self._should_use_startup_sampling(): return self._startup_sample(k) - else: - print("PrioritizedLevelReplay") - self.sampled_tasks += k - return [self._task_sampler.sample() for _ in range(k)] + + return [self._task_sampler.sample() for _ in range(k)] def _enumerate_tasks(self, space): assert isinstance(space, Discrete) or isinstance(space, MultiDiscrete), f"Unsupported task space {space}: Expected Discrete or MultiDiscrete" diff --git a/syllabus/curricula/plr/plr_wrapper.py b/syllabus/curricula/plr/plr_wrapper.py index 3d880d33..3e5ce00c 100644 --- a/syllabus/curricula/plr/plr_wrapper.py +++ b/syllabus/curricula/plr/plr_wrapper.py @@ -249,10 +249,8 @@ def _sample_distribution(self) -> List[float]: def sample(self, k: int = 1) -> Union[List, Any]: if self._should_use_startup_sampling(): return self._startup_sample(k) - else: - print("PrioritizedLevelReplay") - self.sampled_tasks += k - return [self._task_sampler.sample() for _ in range(k)] + + return [self._task_sampler.sample() for _ in range(k)] def update_on_step(self, obs, rew, term, trunc, info, env_id: int = None) -> None: """ diff --git a/syllabus/curricula/plr/task_sampler.py b/syllabus/curricula/plr/task_sampler.py index 15ad4852..5857177d 100644 --- a/syllabus/curricula/plr/task_sampler.py +++ b/syllabus/curricula/plr/task_sampler.py @@ -310,6 +310,8 @@ def sample_weights(self): self.staleness_temperature, self.task_staleness, ) + if np.isclose(np.sum(staleness_weights), 0): + staleness_weights = np.ones_like(staleness_weights, dtype=float) / len(staleness_weights) staleness_weights = staleness_weights * (1 - self.unseen_task_weights) z = np.sum(staleness_weights) if z > 0: diff --git a/syllabus/curricula/sequential.py b/syllabus/curricula/sequential.py index 9b601459..bd6df37c 100644 --- a/syllabus/curricula/sequential.py +++ b/syllabus/curricula/sequential.py @@ -19,7 +19,7 @@ def __init__(self, curriculum_list: List[Curriculum], stopping_conditions: List[ if len(curriculum_list) == 1: warnings.warn("Your sequential curriculum only containes one element. Consider using that element directly instead.") - self.curriculum_list = self._parse_curriculum_list(curriculum_list, warmup_strategy=self.warmup_strategy, warmup_samples=self.warmup_tasks) + self.curriculum_list = self._parse_curriculum_list(curriculum_list) self.stopping_conditions = self._parse_stopping_conditions(stopping_conditions) self._curriculum_index = 0 @@ -32,7 +32,7 @@ def __init__(self, curriculum_list: List[Curriculum], stopping_conditions: List[ self.total_tasks = 0 self.episode_returns = [] - def _parse_curriculum_list(self, curriculum_list: List[Curriculum], warmup_strategy: str, warmup_samples: int) -> List[Curriculum]: + def _parse_curriculum_list(self, curriculum_list: List[Curriculum]) -> List[Curriculum]: """ Parse the curriculum list to ensure that all items are curricula. Adds Curriculum objects directly. Wraps task space items in NoopCurriculum objects. """ @@ -40,9 +40,11 @@ def _parse_curriculum_list(self, curriculum_list: List[Curriculum], warmup_strat for item in curriculum_list: if isinstance(item, Curriculum): parsed_list.append(item) - elif isinstance(item, TaskSpace) or isinstance(item, list): - curriculum_obj = DomainRandomization(item, warmup_strategy=warmup_strategy, warmup_samples=warmup_samples) if isinstance(item, TaskSpace) else DomainRandomization(TaskSpace(len(item), item), warmup_strategy=warmup_strategy, warmup_samples=warmup_samples) - parsed_list.append(curriculum_obj) + elif isinstance(item, TaskSpace): + parsed_list.append(DomainRandomization(item)) + elif isinstance(item, list): + task_space = TaskSpace(len(item), item) + parsed_list.append(DomainRandomization(task_space)) elif self.task_space.contains(item): parsed_list.append(NoopCurriculum(item, self.task_space)) else: diff --git a/syllabus/curricula/simple_box.py b/syllabus/curricula/simple_box.py index a211da6b..0d7a4ba9 100644 --- a/syllabus/curricula/simple_box.py +++ b/syllabus/curricula/simple_box.py @@ -62,8 +62,6 @@ def sample(self, k: int = 1) -> Union[List, Any]: """ if self._should_use_startup_sampling(): return self._startup_sample(k) - else: - print("SimpleBoxCurriculum") - self.sampled_tasks += k - return [self.max_range for _ in range(k)] + + return [self.max_range for _ in range(k)] \ No newline at end of file diff --git a/tests/multiprocessing_smoke_tests.py b/tests/multiprocessing_smoke_tests.py index 2ca6bb1f..d143d51a 100644 --- a/tests/multiprocessing_smoke_tests.py +++ b/tests/multiprocessing_smoke_tests.py @@ -42,34 +42,32 @@ test_names = [curriculum_args[0].__name__ for curriculum_args in curricula] - -@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): - # Test single process speed - print("RUNNING: Python single process test (1 env)...") - single_kwargs = kwargs.copy() - if "num_processes" in single_kwargs: - single_kwargs["num_processes"] = 1 - test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) - native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) - print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") +# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +# def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): +# # Test single process speed +# print("RUNNING: Python single process test (1 env)...") +# single_kwargs = kwargs.copy() +# if "num_processes" in single_kwargs: +# single_kwargs["num_processes"] = 1 +# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) +# native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) +# print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") # @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) # def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): # # Test Queue multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) +# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) # test_curriculum = make_multiprocessing_curriculum(test_curriculum) # print("\nRUNNING: Python multiprocess test with Syllabus...") # native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) # print(f"PASSED: Python multiprocess test with Syllabus: {native_syllabus_speed:.2f}s") - -# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -# def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): -# # Test Ray multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) -# test_curriculum = make_ray_curriculum(test_curriculum) -# print("\nRUNNING: Ray multiprocess test with Syllabus...") -# ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) -# print(f"PASSED: Ray multiprocess test with Syllabus: {ray_syllabus_speed:.2f}s") +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): + # Test Ray multiprocess speed with Syllabus + test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) + test_curriculum = make_ray_curriculum(test_curriculum) + print("\nRUNNING: Ray multiprocess test with Syllabus...") + ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) + print(f"PASSED: Ray multiprocess test with Syllabus: {ray_syllabus_speed:.2f}s") diff --git a/tests/single_process_test.py b/tests/single_process_test.py index 78703d80..756399a2 100644 --- a/tests/single_process_test.py +++ b/tests/single_process_test.py @@ -62,6 +62,7 @@ }), # (SequentialCurriculum, create_nethack_env, ([CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS), PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048), NetHackScore, [NetHackScout, NetHackStaircase]], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), ] + test_names_2 = [curriculum_args[0].__name__ for curriculum_args in curricula_2] @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula_2, ids=test_names_2) def test_multiprocessing_sync_single_process_fix(curriculum, env_fn, args, kwargs): From 9ec5728ff046ecc2f6cad26564b4b9d00aa67815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=85=88=E7=94=9F?= Date: Tue, 16 Apr 2024 22:29:55 -0400 Subject: [PATCH 04/31] fixed the issues --- syllabus/core/curriculum_base.py | 1 - syllabus/examples/task_wrappers/cartpole_task_wrapper.py | 6 +++++- tests/multiprocessing_smoke_tests.py | 9 ++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/syllabus/core/curriculum_base.py b/syllabus/core/curriculum_base.py index 1ac14c04..62274dbc 100644 --- a/syllabus/core/curriculum_base.py +++ b/syllabus/core/curriculum_base.py @@ -251,7 +251,6 @@ def sample(self, k: int = 1) -> Union[List, Any]: n_tasks = len(tasks) task_idx = np.random.choice(range(n_tasks), size=k, p=task_dist) self.sampled_tasks += k - print("Normal") return [tasks[i] for i in task_idx] def log_metrics(self, writer, step=None, log_full_dist=False): diff --git a/syllabus/examples/task_wrappers/cartpole_task_wrapper.py b/syllabus/examples/task_wrappers/cartpole_task_wrapper.py index 4e590632..9481273f 100644 --- a/syllabus/examples/task_wrappers/cartpole_task_wrapper.py +++ b/syllabus/examples/task_wrappers/cartpole_task_wrapper.py @@ -2,7 +2,7 @@ from syllabus.core import TaskWrapper from syllabus.task_space import TaskSpace - +import warnings class CartPoleTaskWrapper(TaskWrapper): def __init__(self, env): @@ -15,9 +15,13 @@ def reset(self, *args, **kwargs): self.total_reward = 0 if "new_task" in kwargs: new_task = kwargs.pop("new_task") + if new_task[0] > new_task[1]: + warnings.warn("Provided lower bound was higher than upper bound. Swapping the bounds.") + new_task = sorted(new_task) self.task = new_task return self.env.reset(options={"low": self.task[0], "high": self.task[1]}) + def _task_completion(self, obs, rew, term, trunc, info) -> float: # Return percent of optimal reward self.total_reward += rew diff --git a/tests/multiprocessing_smoke_tests.py b/tests/multiprocessing_smoke_tests.py index d143d51a..b440e76e 100644 --- a/tests/multiprocessing_smoke_tests.py +++ b/tests/multiprocessing_smoke_tests.py @@ -13,7 +13,7 @@ get_test_values, run_native_multiprocess, run_ray_multiprocess, run_single_process) -N_ENVS = 2 +N_ENVS = 1 N_EPISODES = 20 @@ -49,15 +49,14 @@ # single_kwargs = kwargs.copy() # if "num_processes" in single_kwargs: # single_kwargs["num_processes"] = 1 -# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) +# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) # native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) # print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") - # @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) # def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): # # Test Queue multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) +# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) # test_curriculum = make_multiprocessing_curriculum(test_curriculum) # print("\nRUNNING: Python multiprocess test with Syllabus...") # native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) @@ -66,7 +65,7 @@ @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): # Test Ray multiprocess speed with Syllabus - test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) + test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) test_curriculum = make_ray_curriculum(test_curriculum) print("\nRUNNING: Ray multiprocess test with Syllabus...") ray_syllabus_speed = run_ray_multiprocess(env_fn, num_envs=N_ENVS, num_episodes=N_EPISODES) From 2cf206c06ded5dfc2a73b63947cdbb0cecbd17dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=85=88=E7=94=9F?= Date: Thu, 18 Apr 2024 02:01:09 -0400 Subject: [PATCH 05/31] Applied changes from diff and resolved conflicts --- syllabus/core/curriculum_base.py | 7 +- syllabus/curricula/sequential.py | 5 +- .../task_wrappers/cartpole_task_wrapper.py | 5 +- tests/multiprocessing_smoke_tests.py | 38 ++++----- tests/multiprocessing_sync_tests.py | 6 +- tests/single_process_test.py | 83 ++++++++----------- 6 files changed, 65 insertions(+), 79 deletions(-) diff --git a/syllabus/core/curriculum_base.py b/syllabus/core/curriculum_base.py index 62274dbc..508e4749 100644 --- a/syllabus/core/curriculum_base.py +++ b/syllabus/core/curriculum_base.py @@ -26,7 +26,7 @@ def __init__(self, task_space: TaskSpace, task_names: Callable = None, warmup_st self.completed_tasks = 0 self.task_names = task_names self.n_updates = 0 - self.sampled_tasks = 0 + self.startup_sampled_tasks = 0 self.warmup_strategy = warmup_strategy self.warmup_tasks = warmup_samples self.fix_curr_index = 0 @@ -180,7 +180,7 @@ def _sample_distribution(self) -> List[float]: raise NotImplementedError def _should_use_startup_sampling(self) -> bool: - return self.warmup_strategy != "none" and self.sampled_tasks < self.warmup_tasks + return self.warmup_strategy != "none" and self.startup_sampled_tasks < self.warmup_tasks def _startup_sample(self, k: int) -> List: sampled_tasks = [] @@ -225,7 +225,7 @@ def _startup_sample(self, k: int) -> List: indices = random.choices(range(self.num_tasks), k=k) sampled_tasks = [self.tasks[idx] for idx in indices] - self.sampled_tasks += k + self.startup_sampled_tasks += k return sampled_tasks def sample(self, k: int = 1) -> Union[List, Any]: @@ -250,7 +250,6 @@ def sample(self, k: int = 1) -> Union[List, Any]: tasks = self.tasks n_tasks = len(tasks) task_idx = np.random.choice(range(n_tasks), size=k, p=task_dist) - self.sampled_tasks += k return [tasks[i] for i in task_idx] def log_metrics(self, writer, step=None, log_full_dist=False): diff --git a/syllabus/curricula/sequential.py b/syllabus/curricula/sequential.py index bd6df37c..65f8bb53 100644 --- a/syllabus/curricula/sequential.py +++ b/syllabus/curricula/sequential.py @@ -154,7 +154,10 @@ def sample(self, k: int = 1) -> Union[List, Any]: """ curriculum = self.current_curriculum tasks = curriculum.sample(k) - + + if self._should_use_startup_sampling(): + self.startup_sampled_tasks += curriculum.startup_sampled_tasks + # Recode tasks into environment task space decoded_tasks = [curriculum.task_space.decode(task) for task in tasks] recoded_tasks = [self.task_space.encode(task) for task in decoded_tasks] diff --git a/syllabus/examples/task_wrappers/cartpole_task_wrapper.py b/syllabus/examples/task_wrappers/cartpole_task_wrapper.py index 9481273f..69010bd2 100644 --- a/syllabus/examples/task_wrappers/cartpole_task_wrapper.py +++ b/syllabus/examples/task_wrappers/cartpole_task_wrapper.py @@ -1,8 +1,10 @@ +import warnings + from gymnasium.spaces import Box from syllabus.core import TaskWrapper from syllabus.task_space import TaskSpace -import warnings + class CartPoleTaskWrapper(TaskWrapper): def __init__(self, env): @@ -21,7 +23,6 @@ def reset(self, *args, **kwargs): self.task = new_task return self.env.reset(options={"low": self.task[0], "high": self.task[1]}) - def _task_completion(self, obs, rew, term, trunc, info) -> float: # Return percent of optimal reward self.total_reward += rew diff --git a/tests/multiprocessing_smoke_tests.py b/tests/multiprocessing_smoke_tests.py index b440e76e..e9dd478f 100644 --- a/tests/multiprocessing_smoke_tests.py +++ b/tests/multiprocessing_smoke_tests.py @@ -13,7 +13,7 @@ get_test_values, run_native_multiprocess, run_ray_multiprocess, run_single_process) -N_ENVS = 1 +N_ENVS = 2 N_EPISODES = 20 @@ -42,25 +42,25 @@ test_names = [curriculum_args[0].__name__ for curriculum_args in curricula] -# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -# def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): -# # Test single process speed -# print("RUNNING: Python single process test (1 env)...") -# single_kwargs = kwargs.copy() -# if "num_processes" in single_kwargs: -# single_kwargs["num_processes"] = 1 -# test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) -# native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) -# print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +def test_multiprocessing_sync_single_process(curriculum, env_fn, args, kwargs): + # Test single process speed + print("RUNNING: Python single process test (1 env)...") + single_kwargs = kwargs.copy() + if "num_processes" in single_kwargs: + single_kwargs["num_processes"] = 1 + test_curriculum = curriculum(*args, warmup_strategy="random", warmup_samples=10, **kwargs) + native_speed = run_single_process(env_fn, curriculum=test_curriculum, num_envs=1, num_episodes=N_EPISODES) + print(f"PASSED: single process test (1 env) passed: {native_speed:.2f}s") -# @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) -# def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): -# # Test Queue multiprocess speed with Syllabus -# test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) -# test_curriculum = make_multiprocessing_curriculum(test_curriculum) -# print("\nRUNNING: Python multiprocess test with Syllabus...") -# native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) -# print(f"PASSED: Python multiprocess test with Syllabus: {native_syllabus_speed:.2f}s") +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) +def test_multiprocessing_sync_queue_multi_process(curriculum, env_fn, args, kwargs): + # Test Queue multiprocess speed with Syllabus + test_curriculum = curriculum(*args, warmup_strategy="fix", warmup_samples=10, **kwargs) + test_curriculum = make_multiprocessing_curriculum(test_curriculum) + print("\nRUNNING: Python multiprocess test with Syllabus...") + native_syllabus_speed = run_native_multiprocess(env_fn, curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES) + print(f"PASSED: Python multiprocess test with Syllabus: {native_syllabus_speed:.2f}s") @pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) def test_multiprocessing_sync_ray_multi_process(curriculum, env_fn, args, kwargs, ray_session): diff --git a/tests/multiprocessing_sync_tests.py b/tests/multiprocessing_sync_tests.py index 87e2f150..ab896609 100644 --- a/tests/multiprocessing_sync_tests.py +++ b/tests/multiprocessing_sync_tests.py @@ -29,7 +29,7 @@ def generate_environment(num_episodes=N_EPISODES): def test_single_process(): sample_env = generate_environment() test_curriculum = SyncTestCurriculum(N_ENVS, N_EPISODES, sample_env.task_space) - native_speed = run_single_process( + run_single_process( create_synctest_env, env_args=(N_EPISODES,), curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES ) evaluate_curriculum(test_curriculum, num_envs=N_ENVS) @@ -39,7 +39,7 @@ def test_queue_multiprocess(): sample_env = generate_environment() test_curriculum = SyncTestCurriculum(N_ENVS, N_EPISODES, sample_env.task_space) test_curriculum = make_multiprocessing_curriculum(test_curriculum, sequential_start=False) - native_syllabus_speed = run_native_multiprocess( + run_native_multiprocess( create_synctest_env, env_args=(N_EPISODES,), curriculum=test_curriculum, num_envs=N_ENVS, num_episodes=N_EPISODES ) evaluate_curriculum(test_curriculum.curriculum) @@ -49,7 +49,7 @@ def test_ray_multiprocess(ray_session): sample_env = generate_environment() test_curriculum = SyncTestCurriculum(N_ENVS, N_EPISODES, sample_env.task_space) test_curriculum = make_ray_curriculum(test_curriculum) - ray_syllabus_speed = run_ray_multiprocess(create_synctest_env, env_args=(N_EPISODES,), num_envs=N_ENVS, num_episodes=N_EPISODES) + run_ray_multiprocess(create_synctest_env, env_args=(N_EPISODES,), num_envs=N_ENVS, num_episodes=N_EPISODES) # TODO: Implement Ray checks # evaluate_curriculum(test_curriculum) diff --git a/tests/single_process_test.py b/tests/single_process_test.py index 756399a2..445692a3 100644 --- a/tests/single_process_test.py +++ b/tests/single_process_test.py @@ -21,50 +21,34 @@ cartpole_env = create_cartpole_env() curricula = [ - (NoopCurriculum, create_nethack_env, (NetHackScore, nethack_env.task_space), {}), - (DomainRandomization, create_nethack_env, (nethack_env.task_space,), {}), - # (LearningProgressCurriculum, create_nethack_env, (nethack_env.task_space,), {}), - (CentralizedPrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space,), {"device": "cpu", "suppress_usage_warnings": True, "num_processes": N_ENVS}), - (PrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space, nethack_env.observation_space), { - "get_value": get_test_values, - "device": "cpu", - "num_processes": N_ENVS, - "num_steps": 2048 - }), - (SimpleBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), {}), - (AnnealingBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), { - 'start_values': [-0.02, 0.02], - 'end_values': [-0.3, 0.3], - 'total_steps': [10] - }), - (SequentialCurriculum, create_nethack_env, ([CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS), PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048), NetHackScore, [NetHackScout, NetHackStaircase]], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), + (NoopCurriculum, create_nethack_env, (NetHackScore, nethack_env.task_space), {}), + (DomainRandomization, create_nethack_env, (nethack_env.task_space,), {}), + # (LearningProgressCurriculum, create_nethack_env, (nethack_env.task_space,), {}), + (CentralizedPrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space,), { + "device": "cpu", "suppress_usage_warnings": True, "num_processes": N_ENVS + }), + (PrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space, nethack_env.observation_space), { + "get_value": get_test_values, + "device": "cpu", + "num_processes": N_ENVS, + "num_steps": 2048 + }), + (SimpleBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), {}), + (AnnealingBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), { + 'start_values': [-0.02, 0.02], + 'end_values': [-0.3, 0.3], + 'total_steps': [10] + }), + (SequentialCurriculum, create_nethack_env, ([ + CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS, warmup_strategy = 'random', warmup_samples = 1), + PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048, warmup_strategy = 'fix', warmup_samples = 1), + NetHackScore, + [NetHackScout, NetHackStaircase] + ], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), ] test_names = [curriculum_args[0].__name__ for curriculum_args in curricula] - - -curricula_2 = [ - (NoopCurriculum, create_nethack_env, (NetHackScore, nethack_env.task_space), {}), - (DomainRandomization, create_nethack_env, (nethack_env.task_space,), {}), - # (LearningProgressCurriculum, create_nethack_env, (nethack_env.task_space,), {}), - (CentralizedPrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space,), {"device": "cpu", "suppress_usage_warnings": True, "num_processes": N_ENVS}), - (PrioritizedLevelReplay, create_nethack_env, (nethack_env.task_space, nethack_env.observation_space), { - "get_value": get_test_values, - "device": "cpu", - "num_processes": N_ENVS, - "num_steps": 2048 - }), - (SimpleBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), {}), - (AnnealingBoxCurriculum, create_cartpole_env, (cartpole_env.task_space,), { - 'start_values': [-0.02, 0.02], - 'end_values': [-0.3, 0.3], - 'total_steps': [10] - }), - # (SequentialCurriculum, create_nethack_env, ([CentralizedPrioritizedLevelReplay(nethack_env.task_space, device="cpu", suppress_usage_warnings=True, num_processes=N_ENVS), PrioritizedLevelReplay(nethack_env.task_space, nethack_env.observation_space, get_value=get_test_values, device="cpu", num_processes=N_ENVS, num_steps=2048), NetHackScore, [NetHackScout, NetHackStaircase]], ["steps>1000", "episodes>=50", "tasks>20"], nethack_env.task_space), {}), -] - -test_names_2 = [curriculum_args[0].__name__ for curriculum_args in curricula_2] -@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula_2, ids=test_names_2) +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) def test_multiprocessing_sync_single_process_fix(curriculum, env_fn, args, kwargs): # Test single process speed print("RUNNING: Python single process test (1 env)...") @@ -77,18 +61,18 @@ def test_multiprocessing_sync_single_process_fix(curriculum, env_fn, args, kwarg for i in range(N_EPISODES): if test_curriculum: if i == N_EPISODES - 9 and (not isinstance(test_curriculum, NoopCurriculum)): - assert test_curriculum._should_use_startup_sampling() == True + assert test_curriculum._should_use_startup_sampling() if i == N_EPISODES - 8 and (not isinstance(test_curriculum, NoopCurriculum)): - assert test_curriculum._should_use_startup_sampling() == False + assert not test_curriculum._should_use_startup_sampling() task = env.task_space.decode(test_curriculum.sample()[0]) ep_rews.append(run_episode(env, new_task=task, curriculum=test_curriculum, env_id=0)) else: ep_rews.append(run_episode(env)) env.close() - print(f"PASSED: single process test on fix sampling (1 env) passed") + print("PASSED: single process test on fix sampling (1 env) passed") -test_names_2 = [curriculum_args[0].__name__ for curriculum_args in curricula_2] -@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula_2, ids=test_names_2) +test_names = [curriculum_args[0].__name__ for curriculum_args in curricula] +@pytest.mark.parametrize("curriculum, env_fn, args, kwargs", curricula, ids=test_names) def test_multiprocessing_sync_single_process_random(curriculum, env_fn, args, kwargs): # Test single process speed print("RUNNING: Python single process test (1 env)...") @@ -101,13 +85,12 @@ def test_multiprocessing_sync_single_process_random(curriculum, env_fn, args, kw for i in range(N_EPISODES): if test_curriculum: if i == N_EPISODES - 9 and (not isinstance(test_curriculum, NoopCurriculum)): - assert test_curriculum._should_use_startup_sampling() == True + assert test_curriculum._should_use_startup_sampling() if i == N_EPISODES - 8 and (not isinstance(test_curriculum, NoopCurriculum)): - assert test_curriculum._should_use_startup_sampling() == False + assert not test_curriculum._should_use_startup_sampling() task = env.task_space.decode(test_curriculum.sample()[0]) ep_rews.append(run_episode(env, new_task=task, curriculum=test_curriculum, env_id=0)) else: ep_rews.append(run_episode(env)) env.close() - print(f"PASSED: single process test on random sampling (1 env) passed") - + print("PASSED: single process test on random sampling (1 env) passed") From 241636f9aaa0bb6c15381d2be72dd233bb303414 Mon Sep 17 00:00:00 2001 From: AdrianHuang2002 Date: Sat, 27 Apr 2024 08:53:36 -0400 Subject: [PATCH 06/31] sb3 --- profiling_results.prof | Bin 0 -> 3011700 bytes syllabus/core/curriculum_sync_wrapper.py | 5 +- .../examples/experimental/sb3_procgen_plr.py | 359 ++++++++++++++---- .../task_wrappers/procgen_task_wrapper.py | 2 + .../cleanrl_procgen_centralplr.py | 45 ++- .../training_scripts/cleanrl_procgen_plr.py | 6 +- ...tfevents.1713852002.WenranLaoGong.157219.0 | 1 + ...tfevents.1713852115.WenranLaoGong.157950.0 | 1 + 8 files changed, 327 insertions(+), 92 deletions(-) create mode 100644 profiling_results.prof create mode 120000 syllabus/examples/training_scripts/wandb/run-20240423_020001-cymykoqj/files/events.out.tfevents.1713852002.WenranLaoGong.157219.0 create mode 120000 syllabus/examples/training_scripts/wandb/run-20240423_020154-r83gxf5t/files/events.out.tfevents.1713852115.WenranLaoGong.157950.0 diff --git a/profiling_results.prof b/profiling_results.prof new file mode 100644 index 0000000000000000000000000000000000000000..bd0df6c8dc7ab81e269d475ae181c28fb9679652 GIT binary patch literal 3011700 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ΰ< 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%0Anjn>*42iZJNKmWV%3q+7( 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