From fc4b98ea7d0faa862e4c5d6916ddf66382a5cde6 Mon Sep 17 00:00:00 2001 From: Dominik Roth Date: Sun, 23 Jul 2023 13:12:07 +0200 Subject: [PATCH] Allow envs to already be wrapped with a RawInterfaceWrapper --- fancy_gym/utils/make_env_helpers.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fancy_gym/utils/make_env_helpers.py b/fancy_gym/utils/make_env_helpers.py index 5266a60..cebf7aa 100644 --- a/fancy_gym/utils/make_env_helpers.py +++ b/fancy_gym/utils/make_env_helpers.py @@ -49,6 +49,12 @@ def _make_wrapped_env(env: gym.Env, wrappers: Iterable[Type[gym.Wrapper]], seed= if fallback_max_steps: env = ensure_finite_time(env, fallback_max_steps) has_black_box_wrapper = False + head = env + while hasattr(head, 'env'): + if isinstance(head, RawInterfaceWrapper): + has_black_box_wrapper = True + break + head = head.env for w in wrappers: # only wrap the environment if not BlackBoxWrapper, e.g. for vision if issubclass(w, RawInterfaceWrapper):