Exemplo n.º 1
0
def env(**kwargs):
    env = raw_env(**kwargs)
    env = wrappers.CaptureStdoutWrapper(env)
    env = wrappers.TerminateIllegalWrapper(env, illegal_reward=-1)
    env = wrappers.AssertOutOfBoundsWrapper(env)
    pass_action = 3
    env = wrappers.NanNoOpWrapper(
        env, pass_action, "'checked' with action {}".format(pass_action))
    env = wrappers.OrderEnforcingWrapper(env)
    return env
Exemplo n.º 2
0
def env():
    '''
    The env function often wraps the environment in wrappers by default.
    You can find full documentation for these methods
    elsewhere in the developer documentation.
    '''
    env = raw_env()
    # This wrapper is only for environments which print results to the terminal
    env = wrappers.CaptureStdoutWrapper(env)
    # this wrapper helps error handling for discrete action spaces
    env = wrappers.AssertOutOfBoundsWrapper(env)
    # Provides a wide vareity of helpful user errors
    # Strongly recommended
    env = wrappers.OrderEnforcingWrapper(env)
    return env
Exemplo n.º 3
0
def test_unwrapped(name, env_module):

    env = env_module.env()
    base_env = env.unwrapped

    env.reset()
    agents = env.agents

    if discrete_observation(env, agents):
        env = wrappers.AssertOutOfBoundsWrapper(env)
    env = wrappers.BaseWrapper(env)
    env = wrappers.CaptureStdoutWrapper(env)
    if box_observation(env, agents) and box_action(env, agents):
        env = wrappers.ClipOutOfBoundsWrapper(env)
    env = wrappers.OrderEnforcingWrapper(env)
    env = wrappers.TerminateIllegalWrapper(env, 1.0)

    if env.metadata["is_parallelizable"]:
        env = conversions.aec_to_parallel(env)

    env = conversions.parallel_to_aec(env)
    env = conversions.turn_based_aec_to_parallel(env)

    assert env.unwrapped == base_env, "Unwrapped Test: unequal envs"
Exemplo n.º 4
0
def env():
    env = raw_env()
    env = wrappers.CaptureStdoutWrapper(env)
    env = wrappers.AssertOutOfBoundsWrapper(env)
    env = wrappers.OrderEnforcingWrapper(env)
    return env