Allow envs to already be wrapped with a RawInterfaceWrapper

This commit is contained in:
Dominik Moritz Roth 2023-07-23 13:12:07 +02:00
parent e2ff915a71
commit fc4b98ea7d

View File

@ -49,6 +49,12 @@ def _make_wrapped_env(env: gym.Env, wrappers: Iterable[Type[gym.Wrapper]], seed=
if fallback_max_steps: if fallback_max_steps:
env = ensure_finite_time(env, fallback_max_steps) env = ensure_finite_time(env, fallback_max_steps)
has_black_box_wrapper = False 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: for w in wrappers:
# only wrap the environment if not BlackBoxWrapper, e.g. for vision # only wrap the environment if not BlackBoxWrapper, e.g. for vision
if issubclass(w, RawInterfaceWrapper): if issubclass(w, RawInterfaceWrapper):