diff --git a/pufferlib/emulation.py b/pufferlib/emulation.py index f576f530f0..077581ddae 100644 --- a/pufferlib/emulation.py +++ b/pufferlib/emulation.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import warnings diff --git a/pufferlib/environments/__init__.py b/pufferlib/environments/__init__.py index d6c969523e..062b5e0513 100644 --- a/pufferlib/environments/__init__.py +++ b/pufferlib/environments/__init__.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import pufferlib def try_import(module_path, package_name=None): diff --git a/pufferlib/environments/atari/environment.py b/pufferlib/environments/atari/environment.py index 92295ecaa9..b5e91c284c 100644 --- a/pufferlib/environments/atari/environment.py +++ b/pufferlib/environments/atari/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/environments/box2d/environment.py b/pufferlib/environments/box2d/environment.py index f2fd12b7e8..92b2ea0757 100644 --- a/pufferlib/environments/box2d/environment.py +++ b/pufferlib/environments/box2d/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gymnasium import functools diff --git a/pufferlib/environments/bsuite/environment.py b/pufferlib/environments/bsuite/environment.py index f39c661e50..ac43c151ef 100644 --- a/pufferlib/environments/bsuite/environment.py +++ b/pufferlib/environments/bsuite/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import functools diff --git a/pufferlib/environments/butterfly/environment.py b/pufferlib/environments/butterfly/environment.py index 994e53e9e7..a41652fb95 100644 --- a/pufferlib/environments/butterfly/environment.py +++ b/pufferlib/environments/butterfly/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T from pettingzoo.utils.conversions import aec_to_parallel_wrapper import functools diff --git a/pufferlib/environments/crafter/environment.py b/pufferlib/environments/crafter/environment.py index e320e347d3..8b172d7d98 100644 --- a/pufferlib/environments/crafter/environment.py +++ b/pufferlib/environments/crafter/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import gymnasium diff --git a/pufferlib/environments/dm_control/environment.py b/pufferlib/environments/dm_control/environment.py index f492fa659d..c00314ad12 100644 --- a/pufferlib/environments/dm_control/environment.py +++ b/pufferlib/environments/dm_control/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import shimmy diff --git a/pufferlib/environments/dm_lab/environment.py b/pufferlib/environments/dm_lab/environment.py index 17bbde770f..1ef7ce1e67 100644 --- a/pufferlib/environments/dm_lab/environment.py +++ b/pufferlib/environments/dm_lab/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import shimmy diff --git a/pufferlib/environments/griddly/environment.py b/pufferlib/environments/griddly/environment.py index fdf8c2430e..6b50223f69 100644 --- a/pufferlib/environments/griddly/environment.py +++ b/pufferlib/environments/griddly/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import shimmy diff --git a/pufferlib/environments/gvgai/environment.py b/pufferlib/environments/gvgai/environment.py index fa4da86fdd..a20293cf22 100644 --- a/pufferlib/environments/gvgai/environment.py +++ b/pufferlib/environments/gvgai/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/environments/links_awaken/environment.py b/pufferlib/environments/links_awaken/environment.py index 8016c3cf58..de78e2f322 100644 --- a/pufferlib/environments/links_awaken/environment.py +++ b/pufferlib/environments/links_awaken/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gymnasium diff --git a/pufferlib/environments/magent/environment.py b/pufferlib/environments/magent/environment.py index 10fbfc2adb..5428008b9c 100644 --- a/pufferlib/environments/magent/environment.py +++ b/pufferlib/environments/magent/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T from pettingzoo.utils.conversions import aec_to_parallel_wrapper import functools diff --git a/pufferlib/environments/microrts/environment.py b/pufferlib/environments/microrts/environment.py index 6c00f4d52b..6db53efeab 100644 --- a/pufferlib/environments/microrts/environment.py +++ b/pufferlib/environments/microrts/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import warnings diff --git a/pufferlib/environments/minerl/environment.py b/pufferlib/environments/minerl/environment.py index 771c3c600c..7cb6c26b92 100644 --- a/pufferlib/environments/minerl/environment.py +++ b/pufferlib/environments/minerl/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import shimmy diff --git a/pufferlib/environments/minigrid/environment.py b/pufferlib/environments/minigrid/environment.py index 2bf373b7ea..f8045716b0 100644 --- a/pufferlib/environments/minigrid/environment.py +++ b/pufferlib/environments/minigrid/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gymnasium import functools diff --git a/pufferlib/environments/minihack/environment.py b/pufferlib/environments/minihack/environment.py index d70ea03d58..4daab21fd5 100644 --- a/pufferlib/environments/minihack/environment.py +++ b/pufferlib/environments/minihack/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gym import shimmy diff --git a/pufferlib/environments/minihack/torch.py b/pufferlib/environments/minihack/torch.py index 7781cb677e..89d07c5c7c 100644 --- a/pufferlib/environments/minihack/torch.py +++ b/pufferlib/environments/minihack/torch.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import pufferlib.pytorch from pufferlib.environments.nethack import Policy diff --git a/pufferlib/environments/mujoco/environment.py b/pufferlib/environments/mujoco/environment.py index f9adad9f8d..a9b4b37a37 100644 --- a/pufferlib/environments/mujoco/environment.py +++ b/pufferlib/environments/mujoco/environment.py @@ -1,5 +1,4 @@ -from pdb import set_trace as T import functools diff --git a/pufferlib/environments/nethack/environment.py b/pufferlib/environments/nethack/environment.py index 033b1d4e08..c003128edd 100644 --- a/pufferlib/environments/nethack/environment.py +++ b/pufferlib/environments/nethack/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import shimmy import gym diff --git a/pufferlib/environments/nethack/torch.py b/pufferlib/environments/nethack/torch.py index 64af81e541..a6c0f697a6 100644 --- a/pufferlib/environments/nethack/torch.py +++ b/pufferlib/environments/nethack/torch.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import torch import torch.nn as nn diff --git a/pufferlib/environments/nmmo/environment.py b/pufferlib/environments/nmmo/environment.py index f4ef1c9988..e885bf6d4d 100644 --- a/pufferlib/environments/nmmo/environment.py +++ b/pufferlib/environments/nmmo/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/environments/nmmo/torch.py b/pufferlib/environments/nmmo/torch.py index e98134f3af..8615629a73 100644 --- a/pufferlib/environments/nmmo/torch.py +++ b/pufferlib/environments/nmmo/torch.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import torch import torch.nn.functional as F diff --git a/pufferlib/environments/open_spiel/environment.py b/pufferlib/environments/open_spiel/environment.py index a5679b759c..5fbfecf63c 100644 --- a/pufferlib/environments/open_spiel/environment.py +++ b/pufferlib/environments/open_spiel/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/environments/open_spiel/gymnasium_environment.py b/pufferlib/environments/open_spiel/gymnasium_environment.py index ae5bfba599..c236702e1a 100644 --- a/pufferlib/environments/open_spiel/gymnasium_environment.py +++ b/pufferlib/environments/open_spiel/gymnasium_environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np from open_spiel.python.algorithms import mcts diff --git a/pufferlib/environments/open_spiel/pettingzoo_environment.py b/pufferlib/environments/open_spiel/pettingzoo_environment.py index cbfca0af42..956873e3e3 100644 --- a/pufferlib/environments/open_spiel/pettingzoo_environment.py +++ b/pufferlib/environments/open_spiel/pettingzoo_environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import pufferlib diff --git a/pufferlib/environments/open_spiel/torch.py b/pufferlib/environments/open_spiel/torch.py index 4d1845b6ba..81705bd5d9 100644 --- a/pufferlib/environments/open_spiel/torch.py +++ b/pufferlib/environments/open_spiel/torch.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import torch diff --git a/pufferlib/environments/open_spiel/utils.py b/pufferlib/environments/open_spiel/utils.py index 8eab105c28..35b667e80f 100644 --- a/pufferlib/environments/open_spiel/utils.py +++ b/pufferlib/environments/open_spiel/utils.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import gymnasium diff --git a/pufferlib/environments/pokemon_red/environment.py b/pufferlib/environments/pokemon_red/environment.py index fe0bd85e78..5c89362a6e 100644 --- a/pufferlib/environments/pokemon_red/environment.py +++ b/pufferlib/environments/pokemon_red/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import gymnasium import functools diff --git a/pufferlib/environments/procgen/environment.py b/pufferlib/environments/procgen/environment.py index 3d889b73fd..71f8c1ac65 100644 --- a/pufferlib/environments/procgen/environment.py +++ b/pufferlib/environments/procgen/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import gym diff --git a/pufferlib/environments/procgen/torch.py b/pufferlib/environments/procgen/torch.py index 924926c34f..8a7f00ada7 100644 --- a/pufferlib/environments/procgen/torch.py +++ b/pufferlib/environments/procgen/torch.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T from torch import nn import pufferlib.models diff --git a/pufferlib/environments/slimevolley/environment.py b/pufferlib/environments/slimevolley/environment.py index a46d79562e..9936a6df63 100644 --- a/pufferlib/environments/slimevolley/environment.py +++ b/pufferlib/environments/slimevolley/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/environments/stable_retro/environment.py b/pufferlib/environments/stable_retro/environment.py index 092708613b..bfeaa3b2b9 100644 --- a/pufferlib/environments/stable_retro/environment.py +++ b/pufferlib/environments/stable_retro/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import gymnasium as gym diff --git a/pufferlib/environments/test/environment.py b/pufferlib/environments/test/environment.py index ff82c6e47b..a81784dcd6 100644 --- a/pufferlib/environments/test/environment.py +++ b/pufferlib/environments/test/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import time diff --git a/pufferlib/environments/test/mock_environments.py b/pufferlib/environments/test/mock_environments.py index 8e8db330ed..e062c150cd 100644 --- a/pufferlib/environments/test/mock_environments.py +++ b/pufferlib/environments/test/mock_environments.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import time diff --git a/pufferlib/environments/vizdoom/environment.py b/pufferlib/environments/vizdoom/environment.py index d98a263f90..779cc92561 100644 --- a/pufferlib/environments/vizdoom/environment.py +++ b/pufferlib/environments/vizdoom/environment.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import functools diff --git a/pufferlib/models.py b/pufferlib/models.py index fa43d7071c..c32aed0321 100644 --- a/pufferlib/models.py +++ b/pufferlib/models.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import torch diff --git a/pufferlib/ocean/environment.py b/pufferlib/ocean/environment.py index 6c56a4ea20..a9fb90d9af 100644 --- a/pufferlib/ocean/environment.py +++ b/pufferlib/ocean/environment.py @@ -1,14 +1,6 @@ import importlib import pufferlib.emulation -def lazy_import(module_path, attr): - """ - Returns a callable that, when called with any arguments, will - import the module, retrieve the attribute (usually a class or factory) - and then call it with the given arguments. - """ - return lambda *args, **kwargs: getattr(__import__(module_path, fromlist=[attr]), attr)(*args, **kwargs) - def make_foraging(width=1080, height=720, num_agents=4096, horizon=512, discretize=True, food_reward=0.1, render_mode='rgb_array'): from .grid import grid diff --git a/pufferlib/ocean/moba/moba.py b/pufferlib/ocean/moba/moba.py index 4b4dd0be8b..a14b5a8921 100644 --- a/pufferlib/ocean/moba/moba.py +++ b/pufferlib/ocean/moba/moba.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np import os diff --git a/pufferlib/ocean/nmmo3/nmmo3.py b/pufferlib/ocean/nmmo3/nmmo3.py index 32623501ba..9e6c976571 100644 --- a/pufferlib/ocean/nmmo3/nmmo3.py +++ b/pufferlib/ocean/nmmo3/nmmo3.py @@ -1,4 +1,3 @@ -from pdb import set_trace as T import numpy as np from types import SimpleNamespace import gymnasium diff --git a/pufferlib/pufferl.py b/pufferlib/pufferl.py index 7132a19f90..d8da143872 100644 --- a/pufferlib/pufferl.py +++ b/pufferlib/pufferl.py @@ -713,12 +713,6 @@ def dist_sum(value, device): torch.distributed.all_reduce(tensor, op=torch.distributed.ReduceOp.SUM) return tensor.item() -def dist_mean(value, device): - if not torch.distributed.is_initialized(): - return value - - return dist_sum(value, device) / torch.distributed.get_world_size() - class Profile: def __init__(self, frequency=5): self.profiles = defaultdict(lambda: defaultdict(float)) diff --git a/pufferlib/pytorch.py b/pufferlib/pytorch.py index e18bea40c5..0dc134c464 100644 --- a/pufferlib/pytorch.py +++ b/pufferlib/pytorch.py @@ -1,11 +1,9 @@ import sys -from pdb import set_trace as T from typing import Dict, List, Tuple, Union import numpy as np import torch from torch import nn -from torch.distributions import Categorical from torch.distributions.utils import logits_to_probs import pufferlib @@ -103,23 +101,6 @@ def nativize_tensor(observation: torch.Tensor, native_dtype: NativeDType): return _nativize_tensor(observation, native_dtype) -# torch.view(dtype) does not compile -# This is a workaround hack -# @thatguy - can you figure out a more robust way to handle cast? -# I think it may screw up for non-uint data... so I put a hard .view -# fallback that breaks compile -def compilable_cast(u8, dtype): - if dtype in (torch.uint8, torch.uint16, torch.uint32, torch.uint64): - n = dtype.itemsize - bytes = [u8[..., i::n].to(dtype) for i in range(n)] - if not LITTLE_BYTE_ORDER: - bytes = bytes[::-1] - - bytes = sum(bytes[i] << (i * 8) for i in range(n)) - return bytes.view(dtype) - return u8.view(dtype) # breaking cast - - def _nativize_tensor(observation: torch.Tensor, native_dtype: NativeDType): if isinstance(native_dtype, tuple): dtype, shape, offset, delta = native_dtype @@ -141,15 +122,6 @@ def _nativize_tensor(observation: torch.Tensor, native_dtype: NativeDType): return subviews -def nativize_observation(observation, emulated): - # TODO: Any way to check that user has not accidentally cast data to float? - # float is natively supported, but only if that is the actual correct type - return nativize_tensor( - observation, - emulated['observation_dtype'], - emulated['emulated_observation_dtype'], - ) - def flattened_tensor_size(native_dtype): return _flattened_tensor_size(native_dtype) @@ -182,10 +154,6 @@ def entropy(logits): p_log_p = logits * logits_to_probs(logits) return -p_log_p.sum(-1) -def entropy_probs(logits, probs): - p_log_p = logits * probs - return -p_log_p.sum(-1) - def sample_logits(logits, action=None): is_discrete = isinstance(logits, torch.Tensor) if isinstance(logits, torch.distributions.Normal): diff --git a/pufferlib/vector.py b/pufferlib/vector.py index 78614f4d65..f47e14d124 100644 --- a/pufferlib/vector.py +++ b/pufferlib/vector.py @@ -1,6 +1,5 @@ # TODO: Check actions passed to envs are right shape? On first call at least -from pdb import set_trace as T import numpy as np import time