Python gym.envs.registration.register() Examples

The following are 12 code examples of gym.envs.registration.register(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module gym.envs.registration , or try the search function .
Example #1
Source File: __init__.py    From L2RPN with GNU Lesser General Public License v3.0 6 votes vote down vote up
def register_gym_envs():
    try:
        from gym.envs.registration import register

        # Seek for parameters folders
        parameters_folders = [os.path.abspath(os.path.join('parameters/', f)) for f in os.listdir('parameters/')
                              if not os.path.isfile(f)]
        for parameters_folder in parameters_folders:
            register(
                id='pypownet_%s-v1' % os.path.basename(parameters_folder),
                entry_point='pypownet.environment:RunEnv',
                kwargs={'parameters_folder': parameters_folder}
            )
    except ImportError:
        pass
    except:
        raise 
Example #2
Source File: __init__.py    From pypownet with GNU Lesser General Public License v3.0 6 votes vote down vote up
def register_gym_envs():
    try:
        from gym.envs.registration import register

        # Seek for parameters folders
        parameters_folders = [os.path.abspath(os.path.join('parameters/', f)) for f in os.listdir('parameters/')
                              if not os.path.isfile(f)]
        for parameters_folder in parameters_folders:
            register(
                id='pypownet_%s-v1' % os.path.basename(parameters_folder),
                entry_point='pypownet.environment:RunEnv',
                kwargs={'parameters_folder': parameters_folder}
            )
    except ImportError:
        pass
    except:
        raise 
Example #3
Source File: registration.py    From SLM-Lab with MIT License 6 votes vote down vote up
def try_register_env(spec):
    '''Try to additional environments for OpenAI gym.'''
    try:
        env_name = spec['env'][0]['name']
        if env_name == 'vizdoom-v0':
            assert 'cfg_name' in spec['env'][0].keys(), 'Environment config name must be defined for vizdoom.'
            cfg_name = spec['env'][0]['cfg_name']
            register(
                id=env_name,
                entry_point='slm_lab.env.vizdoom.vizdoom_env:VizDoomEnv',
                kwargs={'cfg_name': cfg_name})
        elif env_name.startswith('Unity'):
            # NOTE: do not specify max_episode_steps, will cause shape inconsistency in done
            register(
                id=env_name,
                entry_point='slm_lab.env.unity:GymUnityEnv',
                kwargs={'name': env_name})
    except Exception as e:
        logger.exception(e) 
Example #4
Source File: __init__.py    From adversarial-policies with MIT License 5 votes vote down vote up
def register(id, **kwargs):
    """Idempotent version of gym.envs.registration.registry.

    Needed since aprl.envs can get imported multiple times, e.g. when deserializing policies.
    """
    try:
        existing_spec = registration.spec(id)
        new_spec = registration.EnvSpec(id, **kwargs)
        assert existing_spec.__dict__ == new_spec.__dict__
    except gym.error.UnregisteredEnv:  # not previously registered
        registration.register(id, **kwargs)


# Low-dimensional multi-agent environments 
Example #5
Source File: __init__.py    From BERT with Apache License 2.0 5 votes vote down vote up
def configure_and_register_env(env_class):
  register(
      id="{}-v0".format(env_class.__name__),
      entry_point="tensor2tensor.trax.rlax.envs:{}".format(env_class.__name__),
  )
  return gin.external_configurable(env_class, module="trax.rlax.envs")


# pylint: disable=invalid-name 
Example #6
Source File: __init__.py    From L2RPN with GNU Lesser General Public License v3.0 5 votes vote down vote up
def configure_matpower():
    from oct2py import octave

    # Add matpower to octave path
    mp_path_config = os.path.join(root_path, 'matpower_path.config')
    if not os.path.exists(mp_path_config):
        raise FileNotFoundError('The matpower path configuration file is not found at', mp_path_config)
    with open(mp_path_config, 'r') as f:
        relative_path = f.read().splitlines()[0]

    matpower_path = os.path.abspath(os.path.join(root_path, relative_path))
    # Check that the matpower path does exist
    if not os.path.exists(matpower_path):
        raise FileNotFoundError('Matpower folder %s not found' % matpower_path)

    # Add matpower and some of its subfolders to octave workspace
    octave.addpath(os.path.abspath(matpower_path))
    #octave.addpath(os.path.abspath(os.path.join(matpower_path, 't/')))
    octave.addpath(os.path.abspath(os.path.join(matpower_path, 'most/')))
    #octave.addpath(os.path.abspath(os.path.join(matpower_path, os.path.join('most/', 't/'))))
    octave.addpath(os.path.abspath(os.path.join(matpower_path, 'lib/')))


#from gym.envs.registration import register

# Seek for parameters folders
#parameters_folders = [os.path.abspath(os.path.join('parameters/', f)) for f in os.listdir('parameters/')
#                      if not os.path.isfile(f)]
#for parameters_folder in parameters_folders:
#    register(
#        id='pypownet_%s-v1' % os.path.basename(parameters_folder),
#        entry_point='pypownet.environment:RunEnv',
#        kwargs={'parameters_folder': parameters_folder}
#    ) 
Example #7
Source File: suite.py    From safety-gym with MIT License 5 votes vote down vote up
def register(self, name='', config={}):
        # Note: see safety_gym/envs/mujoco.py for an explanation why we're using
        # 'safety_gym.envs.mujoco:Engine' as the entrypoint, instead of
        # 'safety_gym.envs.engine:Engine'.
        for robot_name, robot_config in self.robot_configs.items():
            # Default
            env_name = f'{self.prefix}-{robot_name}{self.name + name}-{VERSION}'
            reg_config = self.config.copy()
            reg_config.update(robot_config)
            reg_config.update(config)
            register(id=env_name,
                     entry_point='safety_gym.envs.mujoco:Engine',
                     kwargs={'config': reg_config})
            if MAKE_VISION_ENVIRONMENTS:
                # Vision: note, these environments are experimental! Correct behavior not guaranteed
                vision_env_name = f'{self.prefix}-{robot_name}{self.name + name}Vision-{VERSION}'
                vision_config = {'observe_vision': True,
                                 'observation_flatten': False,
                                 'vision_render': True}
                reg_config = deepcopy(reg_config)
                reg_config.update(vision_config)
                register(id=vision_env_name,
                         entry_point='safety_gym.envs.mujoco:Engine',
                         kwargs={'config': reg_config})



#=======================================#
# Common Environment Parameter Defaults #
#=======================================# 
Example #8
Source File: __init__.py    From pypownet with GNU Lesser General Public License v3.0 5 votes vote down vote up
def configure_matpower():
    from oct2py import octave

    # Add matpower to octave path
    mp_path_config = os.path.join(root_path, 'matpower_path.config')
    if not os.path.exists(mp_path_config):
        raise FileNotFoundError('The matpower path configuration file is not found at', mp_path_config)
    with open(mp_path_config, 'r') as f:
        relative_path = f.read().splitlines()[0]

    matpower_path = os.path.abspath(os.path.join(root_path, relative_path))
    # Check that the matpower path does exist
    if not os.path.exists(matpower_path):
        raise FileNotFoundError('Matpower folder %s not found' % matpower_path)

    # Add matpower and some of its subfolders to octave workspace
    octave.addpath(os.path.abspath(matpower_path))
    #octave.addpath(os.path.abspath(os.path.join(matpower_path, 't/')))
    octave.addpath(os.path.abspath(os.path.join(matpower_path, 'most/')))
    #octave.addpath(os.path.abspath(os.path.join(matpower_path, os.path.join('most/', 't/'))))
    octave.addpath(os.path.abspath(os.path.join(matpower_path, 'lib/')))


#from gym.envs.registration import register

# Seek for parameters folders
#parameters_folders = [os.path.abspath(os.path.join('parameters/', f)) for f in os.listdir('parameters/')
#                      if not os.path.isfile(f)]
#for parameters_folder in parameters_folders:
#    register(
#        id='pypownet_%s-v1' % os.path.basename(parameters_folder),
#        entry_point='pypownet.environment:RunEnv',
#        kwargs={'parameters_folder': parameters_folder}
#    ) 
Example #9
Source File: utils.py    From ReAgent with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
def register_if_not_exists(id, entry_point):
    """
    Preventing tests from failing trying to re-register environments
    """
    if id not in registry.env_specs:
        logging.info(f"Registering id={id}, entry_point={entry_point}.")
        register(id=id, entry_point=entry_point) 
Example #10
Source File: atari.py    From rl with MIT License 5 votes vote down vote up
def register_atari():
  # If atari envs are available, re-register them with the OpenAI Baselines
  # wrapper stack.
  for game in atari_py.list_games():
    name = ''.join([g.capitalize() for g in game.split('_')])
    for version in ('v0', 'v4'):
      register(
          id='{}Baselines-{}'.format(name, version),
          entry_point=partial(
              make_baselines,
              env_id='{}NoFrameskip-{}'.format(name, version),
          )) 
Example #11
Source File: gym.py    From bark-ml with MIT License 5 votes vote down vote up
def __init__(self):
    params = ParameterServer()
    discrete_merging_bp = DiscreteIntersectionBlueprint(params)
    SingleAgentRuntime.__init__(self,
      blueprint=discrete_merging_bp, render=True)


# register gym envs 
Example #12
Source File: registration.py    From robel with Apache License 2.0 5 votes vote down vote up
def register(env_id: str, class_path: str, **kwargs):
    """Registers the given class path as a Gym environment.

    Args:
        env_id: The ID to register the environment as.
        class_path: The fully-qualified class path of the environment.
        **kwargs: Key-word arguments to pass to gym's register function.
    """
    if env_id in gym_reg.registry.env_specs:
        # This may happen during test discovery.
        logging.warning('Re-registering environment %s', env_id)
        del gym_reg.registry.env_specs[env_id]

    gym_reg.register(env_id, entry_point=class_path, **kwargs)