fancy_gym.upgrade allows adding mp-versions for already registered envs

This commit is contained in:
Dominik Moritz Roth 2023-07-24 10:33:00 +02:00
parent bb20bb53ec
commit 2fc44667c6
2 changed files with 19 additions and 1 deletions

View File

@ -1,6 +1,6 @@
from fancy_gym import dmc, meta, open_ai from fancy_gym import dmc, meta, open_ai
from fancy_gym.utils.make_env_helpers import make_bb from fancy_gym.utils.make_env_helpers import make_bb
from .envs.registry import register from .envs.registry import register, upgrade
from .dmc import ALL_DMC_MOVEMENT_PRIMITIVE_ENVIRONMENTS from .dmc import ALL_DMC_MOVEMENT_PRIMITIVE_ENVIRONMENTS
# Convenience function for all MP environments # Convenience function for all MP environments
from .envs import ALL_FANCY_MOVEMENT_PRIMITIVE_ENVIRONMENTS from .envs import ALL_FANCY_MOVEMENT_PRIMITIVE_ENVIRONMENTS

View File

@ -126,6 +126,24 @@ def register(
register_mps(id, mp_wrapper, add_mp_types, mp_config_override) register_mps(id, mp_wrapper, add_mp_types, mp_config_override)
def upgrade(
id,
mp_wrapper=DefaultMPWrapper,
add_mp_types=KNOWN_MPS,
mp_config_override={},
**kwargs
):
register(
id,
entry_point=None,
mp_wrapper=mp_wrapper,
register_step_based=False,
add_mp_types=add_mp_types,
mp_config_override={},
**kwargs
)
def register_mps(id, mp_wrapper, add_mp_types=KNOWN_MPS, mp_config_override={}): def register_mps(id, mp_wrapper, add_mp_types=KNOWN_MPS, mp_config_override={}):
for mp_type in add_mp_types: for mp_type in add_mp_types:
register_mp(id, mp_wrapper, mp_type, mp_config_override.get(mp_type, {})) register_mp(id, mp_wrapper, mp_type, mp_config_override.get(mp_type, {}))