From 30bafd7a4f3ef3cf47ab1ac86cea7092a41d0d15 Mon Sep 17 00:00:00 2001 From: Dominik Roth Date: Fri, 14 Jul 2023 15:58:58 +0200 Subject: [PATCH] Allow skipping merge with default bb config --- fancy_gym/envs/registry.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fancy_gym/envs/registry.py b/fancy_gym/envs/registry.py index e57e447..e7c2f09 100644 --- a/fancy_gym/envs/registry.py +++ b/fancy_gym/envs/registry.py @@ -114,12 +114,15 @@ def register_mp(id, mp_type): ALL_FANCY_MOVEMENT_PRIMITIVE_ENVIRONMENTS[mp_type].append(fancy_id) -def bb_env_constructor(underlying_id, mp_type, step_based_kwargs={}, mp_config_override={}): - underlying_env = gym_make(underlying_id, **step_based_kwargs) +def bb_env_constructor(underlying_id, mp_type, mp_config_override={}, **kwargs): + underlying_env = gym_make(underlying_id, **kwargs) env_metadata = underlying_env.metadata - config = copy.deepcopy(_BB_DEFAULTS[mp_type]) - metadata_config = env_metadata.get('mp_config', {}) + metadata_config = copy.deepcopy(env_metadata.get('mp_config', {}).get(mp_type, {})) + global_inherit_defaults = env_metadata.get('mp_config', {}).get('inherit_defaults', True) + inherit_defaults = metadata_config.pop('inherit_defaults', global_inherit_defaults) + + config = copy.deepcopy(_BB_DEFAULTS[mp_type]) if inherit_defaults else {} nested_update(config, metadata_config) nested_update(config, mp_config_override)