Spaces:
Sleeping
Sleeping
| import gym | |
| from easydict import EasyDict | |
| from ding.envs import DingEnvWrapper | |
| from lzero.envs.wrappers import ActionDiscretizationEnvWrapper, LightZeroEnvWrapper | |
| def get_wrappered_env(wrapper_cfg: EasyDict, env_name: str): | |
| """ | |
| Overview: | |
| Returns a new environment with one or more wrappers applied to it. | |
| Arguments: | |
| - wrapper_cfg (:obj:`EasyDict`): A dictionary containing configuration settings for the wrappers. | |
| - env_name (:obj:`str`): The name of the environment to create. | |
| Returns: | |
| A callable that creates the wrapped environment. | |
| """ | |
| if wrapper_cfg.manually_discretization: | |
| return lambda: DingEnvWrapper( | |
| gym.make(env_name), | |
| cfg={ | |
| 'env_wrapper': [ | |
| lambda env: ActionDiscretizationEnvWrapper(env, wrapper_cfg), lambda env: | |
| LightZeroEnvWrapper(env, wrapper_cfg) | |
| ] | |
| } | |
| ) | |
| else: | |
| return lambda: DingEnvWrapper( | |
| gym.make(env_name), cfg={'env_wrapper': [lambda env: LightZeroEnvWrapper(env, wrapper_cfg)]} | |
| ) | |