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
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
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"
def env(): env = raw_env() env = wrappers.CaptureStdoutWrapper(env) env = wrappers.AssertOutOfBoundsWrapper(env) env = wrappers.OrderEnforcingWrapper(env) return env