Merge branch 'master' into future
This commit is contained in:
commit
107413ec75
@ -51,12 +51,29 @@ class FixMetaworldIgnoresSeedOnResetWrapper(gym.Wrapper, gym.utils.RecordConstru
|
|||||||
gym.Wrapper.__init__(self, env)
|
gym.Wrapper.__init__(self, env)
|
||||||
|
|
||||||
def reset(self, **kwargs):
|
def reset(self, **kwargs):
|
||||||
print('[!] You just called .reset on a Metaworld env and supplied a seed. Metaworld curretly does not correctly implement seeding. Do not rely on deterministic behavior.')
|
|
||||||
if 'seed' in kwargs:
|
if 'seed' in kwargs:
|
||||||
|
print('[!] You just called .reset on a Metaworld env and supplied a seed. Metaworld curretly does not correctly implement seeding. Do not rely on deterministic behavior.')
|
||||||
self.env.seed(kwargs['seed'])
|
self.env.seed(kwargs['seed'])
|
||||||
return self.env.reset(**kwargs)
|
return self.env.reset(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class FixMetaworldRenderOnStep(gym.Wrapper, gym.utils.RecordConstructorArgs):
|
||||||
|
def __init__(self, env: gym.Env):
|
||||||
|
gym.utils.RecordConstructorArgs.__init__(self)
|
||||||
|
gym.Wrapper.__init__(self, env)
|
||||||
|
self.render_active = False
|
||||||
|
|
||||||
|
def render(self, *args, **kwargs):
|
||||||
|
self.render_active = True
|
||||||
|
return self.env.render(*args, **kwargs)
|
||||||
|
|
||||||
|
def step(self, *args, **kwargs):
|
||||||
|
ret = self.env.step(*args, **kwargs)
|
||||||
|
if self.render_active:
|
||||||
|
self.env.render()
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def make_metaworld(underlying_id: str, seed: int = 1, render_mode: Optional[str] = None, **kwargs):
|
def make_metaworld(underlying_id: str, seed: int = 1, render_mode: Optional[str] = None, **kwargs):
|
||||||
if underlying_id not in metaworld.ML1.ENV_NAMES:
|
if underlying_id not in metaworld.ML1.ENV_NAMES:
|
||||||
raise ValueError(f'Specified environment "{underlying_id}" not present in metaworld ML1.')
|
raise ValueError(f'Specified environment "{underlying_id}" not present in metaworld ML1.')
|
||||||
@ -68,11 +85,9 @@ def make_metaworld(underlying_id: str, seed: int = 1, render_mode: Optional[str]
|
|||||||
# New argument to use global seeding
|
# New argument to use global seeding
|
||||||
env.seeded_rand_vec = True
|
env.seeded_rand_vec = True
|
||||||
|
|
||||||
# TODO remove, when this has been fixed upstream
|
|
||||||
env = FixMetaworldHasIncorrectObsSpaceWrapper(env)
|
env = FixMetaworldHasIncorrectObsSpaceWrapper(env)
|
||||||
# TODO remove, when this has been fixed upstream
|
|
||||||
# env = FixMetaworldIncorrectResetPathLengthWrapper(env)
|
# env = FixMetaworldIncorrectResetPathLengthWrapper(env)
|
||||||
# TODO remove, when this has been fixed upstream
|
env = FixMetaworldRenderOnStep(env)
|
||||||
env = FixMetaworldIgnoresSeedOnResetWrapper(env)
|
env = FixMetaworldIgnoresSeedOnResetWrapper(env)
|
||||||
return env
|
return env
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user